JSP页面访问MySQL数据库(1)

8 篇文章 0 订阅
5 篇文章 0 订阅

原文链接

直接在页面进行物理连连接

1、开启web服务器,即运行startup.bat

2、在webapps下面建立文件夹try630,为当前工作目录

3、在try630下面建立文件夹WEB-INF/lib,将MySQL-connector-Java-5.1.15-bin.jar放置到lib下面,并解压出com、org、META-INF三个文件夹。

4、尝试过,这样做是必须的。缺少了什么都调试不成功

5、要时不时地重启tomcat

 

以下的6-13都是操作jsp文件,为了说地更加明白一下,不直接贴代码,而是边说边贴。

 

6、现在开始编写jsp文件,这里设为index.jsp。注意包含必要的头。

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JSp 连接数据库</title>
</head>

7、开始连接数据库,先定义变量。

<%

//驱动程序名
String driverName="com.mysql.jdbc.Driver";

//数据库用户名
String userName="root";

//密码
String userPasswd="xhp";

//数据库名
String dbName="test";

//表名
String tableName="empinfo";

//连接字符串
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;

8、三步走,加载驱动、获取连接、访问数据。

//驱动已经放置在了当前目录的/WEB-INF/lib下面

Connection connection=DriverManager.getConnection(url);//建立连接

Statement statement = connection.createStatement();//实例化一个sql语句

String sql="SELECT * FROM "+tableName;

ResultSet rs = statement.executeQuery(sql);//结果集

9、获得数据结果集合

//获得数据结果集合
ResultSetMetaData rmeta = rs.getMetaData();

//确定数据集的列数,亦字段数
int numColumns=rmeta.getColumnCount();

10、想要输出什么到页面?所以考虑一下数据库中表的结构

/*
先注意一下数据库中表的结构:
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| no     | varchar(10) | YES  |     | NULL    |       |
| name   | varchar(10) | YES  |     | NULL    |       |
| gender | varchar(10) | YES  |     | NULL    |       |
| age    | varchar(10) | YES  |     | NULL    |       |
| dept   | varchar(10) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
*/

11、第一种输出方式,按照索引获取数据

 

[java]  view plain  copy
  1. /*第一种输出方式。按照索引获取数据,开始输出 
  2. out.print("no"); 
  3. out.print("|"); 
  4. out.print("name"); 
  5. out.print("|"); 
  6. out.print("gender"); 
  7. out.print("|"); 
  8. out.print("age"); 
  9. out.print("|"); 
  10. out.print("dept"); 
  11. out.print("<br>"); 
  12.  
  13. while(rs.next()) 
  14. { 
  15.     out.print(rs.getString(1)+" "); 
  16.     out.print("|"); 
  17.     out.print(rs.getString(2)+" "); 
  18.     out.print("|"); 
  19.     out.print(rs.getString(3)+" "); 
  20.     out.print("|"); 
  21.     out.print(rs.getString(4)+" "); 
  22.     out.print("|"); 
  23.     out.print(rs.getString(5)+" "); 
  24.     out.print("<br>"); 
  25. }*/  

12、第二种输出方式,根据字段的名称

[java]  view plain  copy
  1. //第二种输出方式。根据字段的名称  
  2. <table border="1">  
  3.             <tr>  
  4.                 <th>编号no</th>  
  5.                 <th>姓名name</th>  
  6.                 <th>性别gender</th>  
  7.                 <th>年龄age</th>  
  8.                 <th>部门dept</th>  
  9.             </tr>  
  10.             <%  
  11.                 while(rs.next())  
  12.                 {  
  13.                     out.println("<tr>");  
  14.                     out.println("<td>"+rs.getString("no")+"</td>");  
  15.                     out.println("<td>"+rs.getString("name")+"</td>");  
  16.                     out.println("<td>"+rs.getString("gender")+"</td>");  
  17.                     out.println("<td>"+rs.getString("age")+"</td>");  
  18.                     out.println("<td>"+rs.getString("dept")+"</td>");  
  19.                     out.println("</tr>");  
  20.                 }  
  21.             %>  
  22.         </table>  

13、关闭连接

<%
 rs.close();
 statement.close();
 connection.close();
%>

14、可以查看结果了。http://localhost:8080/try630/index.jsp

编号no姓名name性别gender年龄age部门dept
12345
0987k
23456
sdfhj
asdfg
zxcvb
12xhpm34cs
12345

 

15、表的内容比较乱,将就看一下。

 

注意java代码和html代码混编,注意切换,注意不同注释的编写。

在当前工作目录下放置了连接器.jar之后,就不必配置CLASSPATH路径指向连接器.jar和servlet-api.jar了


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值