Tomcat下配置JNDI數(shù)據(jù)庫連接池并使用
Tomcat下配置JNDI數(shù)據(jù)庫連接池并使用
一、配置JNDI數(shù)據(jù)源
這一步有幾種配置方式,比如直接修改Tomcat/conf/server.xml文件,但這樣修改是全局的,個(gè)人不太喜歡這樣的方式,本著的原則是能不全局就不全局,以保證項(xiàng)目能夠盡量少的影響到其他項(xiàng)目,盡量少的進(jìn)行修改。因此這里才用局部配置的方式。
把下邊的代碼保存為context.xml文件,并放到WebRoot/META-INF目錄下。
<!-- 根據(jù)實(shí)際情況修改 --> <Context> <Resource name="jdbc/test" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" username="root" password="root"/> </Context> |
二、編輯web.xml文件,在里邊添加如下內(nèi)容
<servlet> <servlet-name>Test</servlet-name> <servlet-class>com.nantian.jndi.Test</servlet-class> <init-param> <param-name>jndi</param-name> <param-value>java:comp/env/jdbc/test</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Test</servlet-name> <url-pattern>/Test</url-pattern> </servlet-mapping> |
三、最后就是測(cè)試配置是否成功了
新建一個(gè)Servlet文件Test.java,寫下如下內(nèi)容
package com.nantian.jndi; import java.sql.Connection; import java.sql.SQLException; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.sql.DataSource; public class Test extends HttpServlet { public void init(ServletConfig config) throws ServletException { String jndi = config.getInitParameter("jndi"); try { Context ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup(jndi); Connection conn = ds.getConnection(); System.out.println("連接獲取成功:"+conn); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } } |
這樣就可以了測(cè)試了,這個(gè)例子連接的是mysql數(shù)據(jù)庫,別忘記添加mysql驅(qū)動(dòng)的jar包。部署工程,運(yùn)行Tomcat,在服務(wù)器啟動(dòng)的時(shí)候就可以看到System.out.println("連接獲取成功:"+conn);這條語句輸出的信息了。
posted on 2014-03-05 10:39 順其自然EVO 閱讀(342) 評(píng)論(0) 編輯 收藏 所屬分類: 數(shù)據(jù)庫