Tomcat下配置JNDI數據庫連接池并使用
Tomcat下配置JNDI數據庫連接池并使用
一、配置JNDI數據源
這一步有幾種配置方式,比如直接修改Tomcat/conf/server.xml文件,但這樣修改是全局的,個人不太喜歡這樣的方式,本著的原則是能不全局就不全局,以保證項目能夠盡量少的影響到其他項目,盡量少的進行修改。因此這里才用局部配置的方式。
把下邊的代碼保存為context.xml文件,并放到WebRoot/META-INF目錄下。
<!-- 根據實際情況修改 --> <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文件,在里邊添加如下內容
<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> |
三、最后就是測試配置是否成功了
新建一個Servlet文件Test.java,寫下如下內容
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(); } } } |
這樣就可以了測試了,這個例子連接的是mysql數據庫,別忘記添加mysql驅動的jar包。部署工程,運行Tomcat,在服務器啟動的時候就可以看到System.out.println("連接獲取成功:"+conn);這條語句輸出的信息了。
posted on 2014-03-05 10:39 順其自然EVO 閱讀(342) 評論(0) 編輯 收藏 所屬分類: 數據庫