Tomcat5 + MySQL Database Connection Pool Configuration

xiaoxiao2021-03-06  46

1, install Tomcat

After the JDK is installed, refer to the Tomcat for Window's installation wizard, basically directly installed, Note: Enter the management user name and password when installing, this is the username and password used in the future, remember.

2, install mysql

The default is installed.

3, (a) Configuring data sources using Tomcat's Web Management Application

Start the Tomcat server, open the browser, enter http: // localhost: 8080 / admin / (where localhost is the name server or the host), enters the management interface login page, at this time, please enter the user name that is required to enter when installing. Password, log in to the management interface,

Select Resources-Data Source to enter the configuration data source interface, select Data Source Actions -> Select Create New Data Source to enter the configuration details interface, the content is as follows: JNDI Name: JDBC / XXX (XXX is the name of yourself)

Data Source URL: JDBC: MySQL: // localhost / test (connection data name)

JDBC Driver Class: com.mysql.jdbc.driver

User name: User name to connect to the database

Password: Database password

Max. Active Connections: Maximum connection

Max. Idle Connections: is the maximum number of idle connections

Max. Wait for Connection: Maximum Waiting Connection

JDBC / MYSQLDATA SOURCE URL: JDBC: mysql: // localhost: 3306 / cs jdbc driver class: com.mysql.jdbc.driver odser name: rootpassword: ******** Max. Active Connections: 4max. IDle Connections: 2max. Wait for Connection: 5000Validation Query:

Request input

JNDI Name

And other information, among them

JDBC Driverclass

Other, other can be filled in according to your needs. such as

Data Source URL

The content may be:

JDBC: MySQL: // ip

Or name

/ DatabaseName

,among them

DatabaseName

Is your database name,

IP

Is your database of the server

IP

Or name. Finally click

Save

-

> Commit change.

This is half the basic data of your data source.

(b)

By modifying the configuration file

Configuring data sources

Add: . 4, modify the configuration file corresponding to your reference under Web.xml and% Tomcat_Home% / conf / catalina / localhost

Open% tomcat_home% / conf / web.xml, add the following in front of ::

DB Connection

jdbc / mysql

javax.sql.datasource

container

Note that the content fill in RES-REF-NAME is consistent with the JNDI Name name mentioned above.

Enter% Tomcat_Home% / Conf / Catalina / LocalHost, find your web application corresponding to the .xml file (below with my web directory structure), such as MyWeb.xml, and add the code under this file:

Here, the configuration work is basically completed.

5, other considerations

Don't forget the JDBC driver mysql-connection-bin.ja must be placed to Tomcat's corresponding directory, your JDBC driver may be high, but as long as you can correspond to the mysql used Yes, because I found that the version of the JDBC driver that does not support 4.0. * Version of the MySQL database, it is recommended to place under the% Tomcat_Home / Common / LIB and the application of Web-INF / LIB. What is the difference between the two? In fact, I will understand that Common / lib is all applications that can be used by all applications.

Restart your Tomcat service.

6, write test code

Create a Test.jsp file in the application's directory, the code is as follows:

"http://www.w3.org/tr/rec-html40/strict.dtd">

<% @ Page Import = "java.sql. *"%>

<% @ Page Import = "javax.sql. *"%>

<% @ Page Import = "javax.naming. *"%>

<% @ Page session = "false"%>

</ title></p> <p><%</p> <p>Out.print ("My Test Start");</p> <p>DataSource DS = NULL;</p> <p>Try {</p> <p>InitialContext CTX = New InitialContext ();</p> <p>DS = (DataSource) CTX.lookup ("Java: Comp / Env / JDBC / MySQL");</p> <p>Connection conn = ds.getConnection ();</p> <p>Statement Stmt = conn.createstatement ();</p> <p>// Tip: Users must be a table for the database,</p> <p>// The database mentioned in the Data Source URL configuration herein is included in the database.</p> <p>String strsql = "select * from users";</p> <p>ResultSet RS = Stmt.executeQuery (strsql);</p> <p>While (rs.next ()) {</p> <p>Out.print (Rs.getstring (1));</p> <p>}</p> <p>Out.print ("My Test ends");</p> <p>}</p> <p>Catch (Exception EX) {</p> <p>Out.print ("Exception Exceptions, information is:" ex.getMessage ());</p> <p>EX.PrintStackTrace ();</p> <p>}</p> <p>%></p> <p></ hEAD></p> <p><body></p> <p></ body></p> <p></ html></p> <p>operation result:</p> <p>My test starts 12345678 My test ends because my RS.GetString (1) is stored in the database 12345678</p> <p>7, summary</p> <p>Thank Jemlee2002 Note: Bean under H: / WebSpp / MyWeb / Web-INF / CLASSES</p> <p>H: / WebSpp / MyWeb / Web-INF / with Web.xml and 8 TLD files. Mysql's drive is placed in% Tomcat_Home% / COMMON / LIB / Under% Tomcat_Home% / Conf / Catalina / LocalHost / Crete MyWeb.xml, as shown below <? XML Version = '1.0' Encoding = 'UTF-8'?></p> <p><Context docBase = "c: / eclipse / workspace / myWeb" Path = "/ mypath" privileged = "true" reloadable = "true"></p> <p><ResourceLink Global = "JDBC / MySQL" name = "jdbc / mysql" type = "javax.sql.datasource" /></p> <p></ Context></p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-80095.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="80095" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.038</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'JF5tvRxMGJ4WDV0N2vqISojA6xHNV0NWOMUPawCdIDnby7EggGYXQ4O17du2LQX0rg_2Bac_2FHulsGstlu3fSROug_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>