tomcat配置数据源通过JNDI访问mysql数据库
1.添加mysql jdbc驱动至build path,并复制到tomcat目录/lib下
2.在tomcat目录/conf/server.xml的<host></host>之间添加
<Context path="/BBS" docBase="BBS" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/bbs" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="0." driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/bbs?autoReconnect=true"/>
</Context>
3.在工程的web-inf/web.xml中的<web-app></web-app>之间添加
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/bbs</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
4.创建测试jsp
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page language="java"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>测试</title>
</head>
<body bgcolor="#DAF9FE">
<h1>mysql jndi test</h1>
<hr>
<%
DataSource ds = null;
try {
Context initCtx = new InitialContext();
if (initCtx == null)
throw new Exception("Initial Failed!");
Context ctx = (Context) initCtx.lookup("java:comp/env");
if (ctx != null)
ds = (DataSource) ctx.lookup("jdbc/bbs");
if (ds == null)
throw new Exception("Look up DataSource Failed!");
} catch (Exception e) {
System.out.println(e.getMessage());
}
%>
<%
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from user");
while (rs.next()) {
%>
<%=rs.getInt(1)%>
<%=rs.getString(2)%>
<%
}
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>