TOMCAT 6 上設定 JNDI 連接池 使用mySQL
在tomcat 6 下設定跟以往不同其中最重要的一個點 就是 context.xml
這個設定在以往, 它是放在 server.xml 這個檔裡的 <HOST> </HOST> 裡面
但在tomcat6, 這個設定被獨立出來, context.xml
它的內容就跟以前一樣
紅色字的部分就是設定JNDI , 如果你是使用mySQL[code]<?xml version='1.0' encoding='utf-8'?>
<Context path="" reloadable="true" docBase="D:\Tomcat\webapps\myWeb" workDir="D:\Tomcat\webapps\myWeb\WEB-INF\work >
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/db" auth="Container" type="javax.sql.DataSource"
maxActive="5" maxIdle="1" maxWait="10000"
username="帳號" password="密碼" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db?autoReconnect=true" />
</Context>[/code]接下來,設定web.xml
你可以直接去設定在Tomcat\conf\web.xml[code]<web-app>
...........
<resource-ref>
<description>JNDI JDBC DataSource of DBWatch</description>
<res-ref-name>jdbc/db</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
...........
</web-app>[/code]如此,JNDI就設定完成了.
接下來就測試看看~寫一隻jsp[code]<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page language="java" contentType="text/html;charset=Big5" %>
<%
Connection con=null;
try
{
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/db");
con = ds.getConnection();
if(!con.isClosed()){
out.println("與db有連線!!\n");
}
}
catch(SQLException sqle)
{
out.println("sqle="+sqle);
}
finally
{
con.close();
con=null;
}
%>[/code]
頁:
[1]