假设我当前某个数据库有个表,其内容如下所示:
则连接该数据库的步骤及代码如下所示:
<%@ page contentType="text/html" pageEncoding="utf-8" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>利用JSP连接数据库并输出表中数据</title>
</head>
<body>
<%!
//定义全局变量,其中root代表数据库连接用户名,DBPASS 为密码, mldn 为所连数据库名称
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";//定义DBDRIVER 目的是定义数据库驱动程序
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn";
public static final String DBUSER = "root";
public static final String DBPASS = "kappa.";
%>
<%
Connection conn = null;//声明数据库连接对象
PreparedStatement pre = null;//声明数据库操作
ResultSet result = null;//声明数据库结果集
%>
<%
try{
Class.forName(DBDRIVER);//加载驱动程序
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);//取得数据库连接
String sql = "select id,name,job,hiredate,salary from emp";
pre = conn.prepareStatement(sql);//实例化PreparedStatement对象
result = pre.executeQuery();//执行查询操作
%>
<center>
<table border="1" width="80%">
<tr>
<td>id</td>
<td>name</td>
<td>job</td>
<td>hiredate</td>
<td>salary</td>
</tr>
<%
//循环表emp中行的记录
while(result.next()){
int num = result.getInt(1);
String na = result.getString(2);
String jo = result.getString(3);
String date = result.getString(4);
float sala = result.getFloat(5);
%>
<tr> <!--循环输出表中信息-->
<td><%=num%></td>
<td><%=na%></td>
<td><%=jo%></td>
<td><%=date%></td>
<td><%=sala%></td>
</tr>
<%
}
%>
</table>
</center>
<%
}catch(Exception e){
System.out.println(e);
}finally{
result.close();//关闭结果集
pre.close();//关闭连接操作
conn.close();//关闭连接
}
%>
</body>
</html>
在以上代码完成后,进浏览器输入 http://localhost:8080/,后跟你的XXX.jsp (XXX为你的jsp文件名),便可出现数据库的输出结果:
若输入网址后内容无显示,可回 Tomcat 中检查是出现了什么原因。本人一开始没显示内容时回去看时提示找不到驱动程序,即 org.gjt.mm.mysql.Driver 无法找到,这时应当到网上下载 mysql-connector-java 组件,本人下载的是 这个文件,将其解压后会得到一个jar包,将其复制到 Tomcat安装目录下的lib文件夹内,重新启动服务器,无意外的话便可以连接成功了!