JDBC之連線池: Tomcat 8.5 MySQL資料庫連線池的配置與使用
簡介
本文以MySQL資料庫為例,介紹Tomcat 8.5環境下,其預設的資料庫連線池DBCP配置與使用.
連線池簡介
資料庫連線池是在使用者和資料庫之間建立一個”池”,這個池是用來存放資料庫連線物件。回收和重用已存在的資料庫連線比新建一個連線更高效。當用戶想要連線資料庫,就要先從連線池中獲取連線物件,然後操作資料庫; 操作完成後,將連線物件歸還給連線池。一旦連線池中的連線物件被取完,下一個想要操作資料庫的使用者必須等待其他使用者釋放連線物件,從而獲取連線物件並操作資料庫。
配置步驟
1. MySQL配置
建立測試用的資料庫,測試使用者和單個測試表。
mysql> GRANT ALL PRIVILEGES ON *.* TO
[email protected] -> IDENTIFIED BY 'javadude' WITH GRANT OPTION; mysql> create database javatest; mysql> use javatest; mysql> create table testdata ( -> id int not null auto_increment primary key, -> foo varchar(25), -> bar int); mysql> insert into testdata values(null, 'hello', 12345); Query OK, 1 row affected (0.00 sec) mysql> select * from testdata; +----+-------+-------+ | ID | FOO | BAR | +----+-------+-------+ | 1 | hello | 12345 | +----+-------+-------+ 1 row in set (0.00 sec) mysql>
2. Context配置
通過在tomcat安裝目錄下conf/context.xml配置檔案增加資源宣告來配置JNDI DataSource。
3. web.xml配置<Context> <!-- maxTotal: Maximum number of database connections in pool. Make sure you configure your mysqld max_connections large enough to handle all of your db connections. Set to -1 for no limit. --> <!-- maxIdle: Maximum number of idle database connections to retain in pool. Set to -1 for no limit. See also the DBCP documentation on this and the minEvictableIdleTimeMillis configuration parameter. --> <!-- maxWaitMillis: Maximum time to wait for a database connection to become available in ms, in this example 10 seconds. An Exception is thrown if this timeout is exceeded. Set to -1 to wait indefinitely. --> <!-- username and password: MySQL username and password for database connections --> <!-- driverClassName: Class name for the old mm.mysql JDBC driver is org.gjt.mm.mysql.Driver - we recommend using Connector/J though. Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver. --> <!-- url: The JDBC connection url for connecting to your MySQL database. --> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javatest"/> </Context>
在WEB-INF/web.xml中新增下列的配置項:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
4. 測試
通過下列簡單的JSP檔案test.jsp來對使用者資訊進行測試
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/TestDB">
select id, foo, bar from testdata
</sql:query>
<html>
<head>
<title>DB Test</title>
</head>
<body>
<h2>Results</h2>
<c:forEach var="row" items="${rs.rows}">
Foo ${row.foo}<br/>
Bar ${row.bar}<br/>
</c:forEach>
</body>
</html>
相關推薦
JDBC之連線池: Tomcat 8.5 MySQL資料庫連線池的配置與使用
簡介 本文以MySQL資料庫為例,介紹Tomcat 8.5環境下,其預設的資料庫連線池DBCP配置與使用. 連線池簡介 資料庫連線池是在使用者和資料庫之間建立一個”池”,這個池是用來存放資料庫連線物件。回收和重用已存在的資料庫連線比新建一個連線更高效。當用戶想要連線資料庫,
mysql資料庫連線異常問題(總結) mysql資料庫連線異常問題(總結)
mysql資料庫連線異常問題(總結) 1.1 前言 最近專案由1個數據源增加至了3個數據源(連線池使用C3P0),結果各種奇葩的資料庫連線問題接踵而至,為防止將來再次遇到同樣的問題不犯同樣錯誤,現總結如下。 1.2 An attempt by
Tomcat 8.5 400錯誤:Invalid character found in the request target. 問題解決方法
最近部署專案的時候,由於MIS配置的是Tomcat 8.5的服務端,導致Web應用不正常,報HTTP 400錯誤(Chrome無異常、IE報錯)。問題原因初步判斷為8.5版本的服務端接收請求不會對符號進行轉義,Chrome不異常的原因或許是瀏覽器自身轉義了。具
tomcat之 JDK8.0安裝、tomcat-8.5.15安裝
前言: JDK(Java Development Kit)是Sun Microsystems針對Java開發員的產品。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK. JDK是整個Java的核心,包括了Java執行環境,Java工具和Java基礎的類庫。
Tomcat專案啟動不了,也不報錯,一直卡在:Deploying web application directory [D:\apache-tomcat-8.5.31\webapps\docs]已解決
在百度上搜索了好久,甚至吧JDK環境都整了一遍都沒有解決問題。後來發現在debug啟動時手誤在實體類裡打了個debug,導致專案啟動載入實體時停在debug處。 解決辦法:找出打debug的位置去掉debug重新啟動專案就好了。
有關Tomcat 8.5版本文件上傳後無權限訪問的問題
排除 接下來 jsb 英文 log 是不是 nts csdn details http://blog.csdn.net/myo_o1/article/details/64131124 之前在tomcat 7下文件上傳後訪問一直沒問題,現在tomcat版本升到8.5,在測試文
tomcat 8.5 優化
-a 可用 config $@ mx2 conf ott nco 限制 著重是jvm的內存大小的配置和catalina的線程數及隊列等等。JVM的優化Linux 修改 啟動文件的參數 JAVA_OPTS 如果服務器只運行一個 Tomcat8G內存的機子配置:JAVA_OPT
Linux下安裝Tomcat 8.5
1.下載Tomcat 下載連結,下載對應的Linux版本的tar.gz包到/usr/local/temp(路徑根據實際情況變化) 2.解壓Tomcat # cd /usr/local/temp # tar -zxvf apache-tomcat-8.5.35.tar.gz /
Linux中Ubuntu Server安裝 apache-tomcat-8.5.20.tar.gz 的下載步驟
1.首先進入apache tomcat的官網 http://tomcat.apache.org/ 如下介面--》 2.進入官網以後 我們可以看見Download目錄下的Archives。點選Archives(代表的是檔案庫 通常意思就是更多的選擇的意思) 進入如下介
apache-tomcat 8.5 SSL證書佈置及強制https
一、使用jdk自帶的工具生成數字證書,如下: 先進入tomcat conf目錄下,建立一個資料夾key 然後, keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:\apache-tomcat-8.5.31\conf\key\
nginx + tomcat 8.5 優化配置,安裝nginx【centos6、7】
第一步安裝 軟體 1.1 依賴包 # yum -y install gcc # yum install expat-devel # sudo yum install zlib-devel 到http://apr.apache.org/download.cgi#apr1這
How to Install Apache Tomcat 8.5 on CentOS 7.3
How to Install Apache Tomcat 8.5 on CentOS 7.3 From: https://www.howtoforge.com/tutorial/how-to-install-tomcat-on-centos/ This tutorial e
關於 tomcat 8.5.33 版本開始 CorsFilter 跨域設定的問題
<filter> <filter-name>CorsFilter</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter<
Tomcat 8.5 啟用 Apache Portable Runtime(APR)庫,提升效能
APR介紹 Tomcat可以使用Apache Portable Runtime(APR)來提供卓越的可擴充套件性、效能,以及更好地與本機伺服器技術整合。Apache可移植的執行時是一個高度可移植的庫,它
CENTOS 7安裝步驟apache-tomcat-8.5.34-windows-x86
1,全文可能比較詳細(就是比較瑣碎)(對新手比較友好) 全部命令在行末! 2,首先克隆一個VM虛擬機器。以下這個操作出錯率較高,防止不必要損失。建議在虛擬機器上動手操作! 選擇完整克隆: 克隆OK 3,如果忘記root密碼。我在其他部落格有寫解決方法!確保
Ubuntu-16.04.3-server安裝配置JDK-8u191、Tomcat-8.5
Ubuntu-16.04.3-server安裝配置JDK、Tomcat 準備檔案: ubuntu-16.04.3-server-amd64.iso jdk-8u191-linux-x64.tar.gz apache-tomcat-8.5.34.tar.gz pscp
tomcat報錯總結C:\Program Files\Apache Software Foundation\Tomcat 8.5\logs\catalina.2018-11-07.log (拒絕訪問)
一、錯誤問題 java.util.logging.ErrorManager: 4 java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Tomcat 8.5\logs
Apache Tomcat 8.5.37 釋出,開源 Web 應用伺服器
Apache Tomcat 是 Java Servlet、JavaServer Pages、Java 表示式語言和 Java WebSocket 技術的開源實現,是一個免費的開放原始碼的 Web 應用伺服器。 相較於 8.3.35版本,Apache Tomcat
配置mysql資料庫連線池錯誤:javax.servlet.ServletException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cann
[javax.servlet.ServletException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL '
tomcat-8.5.16 apr 模式配置(7-8可用,9待測)
新增開啟aprvi /usr/local/tomcat8/conf/server.xml #69 預設protocol="HTTP/1.1" 修改成<Connector port="8080" protocol="org.apache.coyote.http11.Htt