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 Context配置TomcatContext
- tomcat的server.xml中的Context節配置TomcatServerXMLContext
- TOMCAT的Context設定TomcatContext
- Tomcat增加Context配置導致啟動的時候專案載入兩次TomcatContext
- Ubuntu配置tomcatUbuntuTomcat
- context:component- scan配置策略Context
- 【tomcat】tomcat專案共享jar配置TomcatJAR
- Tomcat配置安裝Tomcat
- Tomcat配置HTTPSTomcatHTTP
- #Tomcat學習(3)#Tomcat多例項配置和反向代理叢集配置Tomcat
- Tomcat (1) —— Mac下配置Tomcat Https/SSLTomcatMacHTTP
- Tomcat的Server.xml配置詳解TomcatServerXML
- Tomcat 的 Server 檔案配置詳解!!!TomcatServer
- Mac下配置免安裝的tomcatMacTomcat
- 修改Tomcat服務中的埠配置Tomcat
- Tomcat下連線池的配置(續)Tomcat
- Linux下Tomcat的安裝配置LinuxTomcat
- Tomcat常用優化配置Tomcat優化
- tomcat 配置nginx 反向代理TomcatNginx
- 配置Nginx反向代理TomcatNginxTomcat
- Tomcat安裝與配置Tomcat
- Apache tomcat 配置總結ApacheTomcat
- tomcat jvm 引數配置TomcatJVM
- 配置MyEclipse+TomcatEclipseTomcat
- 配置Apache Server + Tomcat (轉)ApacheServerTomcat
- 配置Tomcat伺服器Tomcat伺服器
- Tomcat 7 中 web 應用載入原理(一)Context 構建TomcatWebContext
- tomcat 優化配置 java-8 tomcat-7Tomcat優化Java
- 將Tomcat配置到你的mac電腦上,命令列啟動tomcatTomcatMac命令列
- Tomcat 配置支援不同的域名訪問各自不同程式的配置方法Tomcat
- springboot tomcat的配置選項大全Spring BootTomcat
- tomcat支援https的server.xml配置TomcatHTTPServerXML
- Tomcat在Windows下的免安裝配置TomcatWindows
- 配置apache和nginx的tomcat負載均衡ApacheNginxTomcat負載
- Windows環境下的tomcat+apache配置WindowsTomcatApache
- Tomcat 6.0.0.29 的資料來源配置.以及配置User登陸。Tomcat
- linux下tomcat安全配置LinuxTomcat
- Tomcat修改記憶體配置Tomcat記憶體