1、在WebRoot/MWTA-INF下创建一个名为context.xml的配置文件,文件内容如下。
<?xml version="1.0" encoding="UTF-8"?>
<Context path = "/dbtom" docBase = "dbtom" reloadable = "true" crossContext = "true">
<Resource
name = "jdbc/dbtom"
type = "javax.sql.DataSource"
username = "root"
password = "root"
driverClassName = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://localhost:3306/user"
/>
</Context>
在<Resource>元素中,以上几个属性均为必填属性。
2、创建java类(DbPool.java)
package com.conDB;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class DbPool {
private Connection connection;
public void getConn() {
try {
Context initcContext = new InitialContext(); //初始化context对象
Context envContext = (Context) initcContext.lookup("java:comp/env");
DataSource dSource = (DataSource) envContext.lookup("jdbc/dbtom"); //获取数据源
connection = dSource.getConnection();
System.out.println("获取连接成功");
} catch (Exception e) {
System.out.println("获取连接失败");
}
}
public ResultSet query(String sql) {
ResultSet rs = null;
if(connection == null){
getConn();//如果为空,则获取连接
}
PreparedStatement ps;
try {
ps = connection.prepareStatement(sql);
rs = ps.executeQuery();
} catch (Exception e) {
System.out.println("query is failed!");
}
return rs;
}
}
3、在jsp页面查询数据库中的信息:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix = "s" uri = "/struts-tags" %>
<%@ page import="java.sql.*"%>
<%@ page import="com.conDB.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<%
DbPool pool = new DbPool(); //初始化实例对象
String sql = "select * from info";
ResultSet rs = pool.query(sql);
if(rs != null)
while(rs.next()){
out.print("姓名:"+rs.getString(1));
out.print(" 密码:"+rs.getString(2));
out.print("<br>");
}
else System.out.println("rs is null");
%>
</body>
</html>
根据数据库中的信息,查询结果如下: