tomcat的Context配置
這幾天在弄個小東西,要用到資料庫,以前就聽說過資料庫連線池這個概念,所以就打算在這個小東西中加入資料庫連線池。呵呵。從網上搜了一些資料。今天就整理一下。我搜到的設定基本上主要有兩種方法我們以MySQL+TOMCAT為例
1.把DataSource設定到我們的WEB專案中,下面詳細的介紹下:
第一步:在我們的WEB專案中的META-INF資料夾下建立一個context.xml
- <?xml version='1.0' encoding='utf-8'?>
- <Context>
- <Resource name="jdbc/mysql"
- auth="Container"
- type="javax.sql.DataSource"
- driverClassName="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost/bbs"
- username="root"
- password="root"
- maxActive="50"
- maxIdle="20"
- maxWait="10000" />
- </Context>
第二步:在我們的WEB專案下的WEB-INF資料夾下建立一個web.xml(如果存在了就不用了,直接修改就行了)
(這幾天測試了一下,不做這步也可以,O(∩_∩)O哈哈~省事了)
- <resource-ref>
- <description>DB Connection</description>
- <res-ref-name>jdbc/mysql</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
第三步:我們就可以用程式碼來獲取Connection物件了
- package xushun.util;
- import java.sql.*;
- import javax.sql.*;
- import javax.naming.*;
- public class DBHelper {
- public static Connection getConnection() throws SQLException,NamingException
- {
- // 初始化查詢名稱空間
- Context initContext = new InitialContext();
- Context envContext = (Context)initContext.lookup("java:/comp/env");
- // 找到DataSource
- DataSource ds = (DataSource)envContext.lookup("jdbc/mysql");
- return ds.getConnection();
- }
- }
2.把DataSource設定到我們的Tomcat中,下面詳細的介紹下(測試用的JAVA程式碼和上面的一樣就不帖出了):
這裡我查到的設定方法就有了一點區別了。有的人把DataSource設定在Tomcat的server.xml檔案的GlobalNamingResources下面,然後在context.xml中去對映。有的直接就寫在context.xml中了
先說下在server.xml新增DataSource
第一步:在Tomcat的conf中的server.xml檔案中找到
- <GlobalNamingResources>
- <!-- Editable user database that can also be used by
- UserDatabaseRealm to authenticate users
- -->
- <Resource name="UserDatabase" auth="Container"
- type="org.apache.catalina.UserDatabase"
- description="User database that can be updated and saved"
- factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
- pathname="conf/tomcat-users.xml" />
- </GlobalNamingResources>
修改為
- <GlobalNamingResources>
- <!-- Editable user database that can also be used by
- UserDatabaseRealm to authenticate users
- -->
- <Resource name="UserDatabase" auth="Container"
- type="org.apache.catalina.UserDatabase"
- description="User database that can be updated and saved"
- factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
- pathname="conf/tomcat-users.xml" />
- <Resource name="jdbc/bbs"
- auth="Container" type="javax.sql.DataSource"
- driverClassName="com.mysql.jdbc.Driver"
- maxIdle="20"
- maxWait="5000"
- username="root"
- password="admin"
- url="jdbc:mysql://localhost:3306/bbs"
- maxActive="100"
- removeAbandoned="true"
- removeAbandonedTimeout="60"
- logAbandoned="true"/>
- </GlobalNamingResources>
第二步:在Tomcat的conf資料夾下的context.xml中加入
- <ResourceLink name="jdbc/bbs" global="jdbc/bbs" type="javax.sql.DataSource"/>
第三步:就是在WEB專案的WEB-INF中的web.xml新增
- <resource-ref>
- <description>DB Connection</description>
- <res-ref-name>jdbc/mysql</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
還有就是在Tomcat文件中提到的方法,直接修改context.xml檔案了
在Tomcat的conf資料夾下的context.xml中加入
- <Resource name="jdbc/bbs"
- auth="Container" type="javax.sql.DataSource"
- driverClassName="com.mysql.jdbc.Driver"
- maxIdle="20"
- maxWait="5000"
- username="root"
- password="admin"
- url="jdbc:mysql://localhost:3306/bbs"
- maxActive="100"
- removeAbandoned="true"
- removeAbandonedTimeout="60"
- logAbandoned="true"/>
然後就是在WEB專案的WEB-INF中的web.xml新增
- <resource-ref>
- <description>DB Connection</description>
- <res-ref-name>jdbc/mysql</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
就是這些了,如果有什麼不太清楚的就留言,一起研究下。等以後我在蒐集下資料整理出上面用到的XML檔案中各個標籤的屬性及其代表的意思。有興趣的也可以自己先查下。:-)
<td>JNDI 查詢名稱</td> <td>關聯的引用</td>
<td>java:comp/env</td> <td>應用程式環境條目</td>
<td>java:comp/env/jdbc</td> <td>JDBC 資料來源資源管理器連線工廠</td>
<td>java:comp/env/ejb</td> <td>EJB 引用</td>
<td>java:comp/UserTransaction</td><td>UserTransaction 引用</td>
<td>java:comp/env/mail</td> <td>JavaMail 會話連線工廠</td>
<td>java:comp/env/url</td> <td>URL 連線工廠</td>
<td>java:comp/env/jms</td> <td>JMS 連線工廠和目標</td>
<td>java:comp/ORB</td> <td>應用程式元件之間共享的 ORB 例項</td>
相關文章
- tomcat配置Tomcat
- 使用了jdk8後,tomcat下的context.xml裡配置的資料庫要使用dbcp2JDKTomcatContextXML資料庫
- Tomcat安全配置Tomcat
- #Tomcat學習(3)#Tomcat多例項配置和反向代理叢集配置Tomcat
- Linux配置jdk和tomcatLinuxJDKTomcat
- 配置Tomcat伺服器Tomcat伺服器
- Springboot整合外部Tomcat配置Spring BootTomcat
- spring boot 配置外接tomcatSpring BootTomcat
- linux下tomcat安全配置LinuxTomcat
- tomcat 配置根路徑Tomcat
- SpringBoot中配置外部TomcatSpring BootTomcat
- SpringBoot 之配置外部TomcatSpring BootTomcat
- Tomcat常用優化配置Tomcat優化
- tomcat 配置nginx 反向代理TomcatNginx
- Tomcat 的 Server 檔案配置詳解!!!TomcatServer
- Tomcat的Server.xml配置詳解TomcatServerXML
- 什麼是Tomcat? 如何在IDEA中配置Tomcat?TomcatIdea
- 02 eclipse中配置Web專案(含eclipse基本配置和Tomcat的配置)EclipseWebTomcat
- Tomcat5.5 Admin的安裝與配置Tomcat
- tomcat 啟動dangdang的spring配置超時TomcatSpring
- Keytool配置 Tomcat的HTTPS雙向認證TomcatHTTP
- Tomcat 配置支援不同的域名訪問各自不同程式的配置方法Tomcat
- windows下Tomcat安裝配置WindowsTomcat
- nginx多站路由配置tomcatNginx路由Tomcat
- Tomcat修改記憶體配置Tomcat記憶體
- tomcat網頁壓縮配置Tomcat網頁
- JDK Tomcat MySQL環境配置JDKTomcatMySql
- JAVA TOMCAT域名解析配置JavaTomcat
- CentOS下tomcat安裝配置CentOSTomcat
- 【Tomcat】Tomcat伺服器核心配置說明及標籤Tomcat伺服器
- Go:context.ContextGoContext
- Tomcat的下載及環境變數配置Tomcat變數
- Eclipse中配置tomcat三種方式EclipseTomcat
- 配置springboot專案使用外部tomcatSpring BootTomcat
- Nginx/Httpd負載均衡tomcat配置Nginxhttpd負載Tomcat
- Linux(jdk+tomcat配置安裝)LinuxJDKTomcat
- Tomcat配置jsp亂碼問題TomcatJS
- SpringBoot配置外部Tomcat並支援JSPSpring BootTomcatJS
- Tomcat部署解析及配置優化Tomcat優化