qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          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ù)庫

          <2014年3月>
          2324252627281
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 赤壁市| 裕民县| 云霄县| 唐山市| 清苑县| 仁化县| 微山县| 康马县| 阿尔山市| 宣城市| 桑植县| 铜川市| 长宁县| 平利县| 余姚市| 遵义市| 丽江市| 博湖县| 甘谷县| 龙门县| 安福县| 苏尼特左旗| 济宁市| 五常市| 青川县| 醴陵市| 乌拉特中旗| 车致| 新丰县| 壶关县| 鹿邑县| 阿城市| 郴州市| 塔城市| 准格尔旗| 麦盖提县| 南通市| 广丰县| 醴陵市| 防城港市| 通州区|