Database connection pool

xiaoxiao2021-03-06  82

============================================================================================================================================================================================================= ============================= 1. From http://www.microsoft.com/downloads/details.aspx?familyid= 4F8F2F01-1ED7-4C4D-8F7B-3D47969E66AE & DisplayLANG = En # filelist Download "Microsoft SQL Server 2000 Driver For JDBC", installed, get three files for msbase.jar, mssqlser.jar and msutil.jar, three files Copy to Tomcat 4.1 under the Common / Lib folder

2. Add the following code in the host domain in Tomcat 4.1 factory org.apache.commons. DBCP.BasicDataSourceFactory maxactive 100 maxidle 30 30 < / value> maxwait 10000 Username sa < / parameter> password Your password DRIVERCLASSNAME com.microsoft.jdbc.sqlserver. SQLServerDriver URL jdbc: Microsoft: SQLServer: //127.0.0.1: 1433; DatabaseName = Pubs < / Context> 3. New folder "MyWeb", "MyWeb / Web-INF", "MyWeb / Web-Inf / Classes" under WebApps

4. New file "Web.xml" under Web-INF, and add the following My Web invoker / servlet / * JDBC / MYDB javax.sql.datasource Container 5 write servlet program JDBCPoolServ.javaimport java.sql *;. import javax.naming.Context; import javax.sql.DataSource; import javax.naming.InitialContext; import javax.servlet *;. import javax.servlet. http. *; import java.io. *;

public class JDBCPoolServ extends HttpServlet {public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {DataSource ds = null; Connection con = null; String val = "null", title = "JDBC Pooling Test"; try {Context initCtx = new initialContext (); if (initctx == null) throw new exception ("Boom - No Context"); DS = (DataSource) INitctX.lookup ("Java: Comp / Env / JDBC / MYDB"); if (DS ! = null) {con = ds.getConnection (); if (con! = null) {statement stmt = con.createstatement (); ResultSet = stmt.executeQuery ("Select * from authors"); rs.next () Val = rs.getstring ("au_id"); rs.close (); stmt.close (); }con.close ();}} catch (excetion ex) {system.out.println (ex.getMessage () );} Response.setContentType ("text / html"); PrintWriter out = response.getwriter (); out.println (""); Out.println (" "); Out.println (" " " </ Title> "); Out.Println (" </ head> "); Out.println (" <body bgcolor = / "White / ">"); Out.println ("<h1>" value "</ h1>); out.println (" </ body> "); out.println (" </ html> ");} } 6. Compile JDBCPoolServ.java gets JDBCPoolServ.class (Note Join Servlet.jar Pack), under "MyWeb / Web-Inf / Classes"</p> <p>7. Start SQL Server2000</p> <p>8. Start Tomcat</p> <p>9. Browse http://127.0.0.0.1:8080/myweb/servlet/jdbcpoolserv</p> <p>10. You can see "172-32-1176" in IE Note: If you are not working properly, check whether the above folder name, URL, and Java class name are uniform.</p> <p>============================================================================================================================================================================================================= ================</p> <p>Tomcat5 MSSQL Server 2000 Database Connection Pool Configuration Tour Rautinee Original (Participation: 43, Expert Score: 10) Published: 2004-2-20 11:00 am Version: 1.0</p> <p>Tomcat believes that everyone is already familiar. As a free and powerful Java Web Server, I got a lot of Java enthusiasts, the latest version of Tomcat5 support servlet2.4 and jsp2.0, today I will use Tomcat5 and MS SQLServer 000 Start the database connection pool configuration together. Need to prepare 1, JDK I use version 1.4.012, Tomcat 5 I use 5.0.16 version download address: http://jakarta.apache.org/site/binindex.cgi3, mssql server 2000 database 4, MSSQL Server 2000 official JDBC Driver, you can download Microsoft's official website free download</p> <p>After installation of the software installed, I will enter the configuration.</p> <p>First, find the JDBC installation directory, put the msbase.jar and mssqlser.jar below the lib directory, Msutil.jar three files Copy to $ catalina_home / common / lib / ($ CATALINA_HOME representative is your Tomcat5 installation directory)</p> <p>Second, use the text editor, I am using editplus to open the $ catalina_home / conf / server.xml file using EditPlus, find the following, paste the following code into the file</p> <p><Context path = "/ dbtest" DOCBASE = "D: / RAUTINEE WORK / DB /" Debug = "5" reloadable = "true" crossContext = "true"></p> <p><Logger classname = "org.apache.catalina.logger.filelogger" prefix = "localhost_dbtest_log." Suffix = ". Txt" TimeStamp = "true" /></p> <p><Resource Name = "JDBC / TESTDB" Auth = "Container" type = "javax.sql.datasource" /></p> <p><ResourceParams Name = "JDBC / TESTDB"> <parameter> <name> factory </ name> <value> org.apache.commons.dbcp.basicDataSourceFactory </ value> </ parameter> <! - maximum number of db connections in pool. Make sure youconfigure your mysqld max_connections large enough to handleall of your db connections. Set to 0 for no limit .--> <parameter> <name> maxActive </ name> <value> 100 </ value> </ parameter ></p> <p><! - maximum number of idle db connections to retain in pool.set to 0 for no limit .--> <parameter> <name> maxidle </ name> <value> 30 </ value> </ parameter></p> <p><-!.. Maximum time to wait for a dB connection to become availablein ms, in this example 10 seconds An Exception is thrown ifthis timeout is exceeded Set to -1 to wait indefinitely .--> <parameter> <name> maxWait </ Name> <value> 10000 </ value> </ parameter></p> <p><! - MSSQLSERVER DB Username and Password for DB Connections -> <parameter> <name> UserName </ name> <value> sa </ value> </ parameter> <parameter> <name> password </ name> < Value> </ value> </ parameter></p> <p><! - Class Name for MSSQLSERVER JDBC Driver -> <parameter> <name> driverclassname </ name> <value> com.microsoft.jdbc.sqlserver.sqlserverdriver </ value> </ parameter></p> <p><! - the JDBC Connection Url for Connecting to your mssqlserver DB .--> <parameter> <name> URL </ name> <value> jdbc: Microsoft: SQLServer: // localhost: 1433; DatabaseName = Northwind </ value > </ parameter> </ resourceparams> </ context></p> <p>Note: The password of the SA of my local database is empty, the database is Northwind, my directory name DBTEST, his directory is d: / Rautinee Work / DB / Open the Web.xml file below DBTest, with the following code Replace the original content</p> <p><? XML Version = "1.0" Encoding = "ISO-8859-1"> <! doctype web-app public "- // sun microsystems, Inc.//dtd Web Application 2.3 // en" "http: // Java.sun.com/dtd/web-app_2_3.dtd"><Web-app><DescriptionMssql Server Test App </ description> <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> </ web -app></p> <p>OK, the configuration is complete, the following work is to write two files to test, whether the connection is successful.</p> <p>Here I use http://jakarta.apache.org above example</p> <p>The first is the bean file</p> <p>Package foo;</p> <p>Import javax.naming. *; import javax.sql. *; import java.sql. *;</p> <p>Public class dbtest {</p> <p>String foo = "not connection"; int BAR = -1;</p> <p>Public void init () {Try {context ctx = new initialcontext (); if (ctx == null) throw new exception ("Boom - no context");</p> <p>DataSource DS = (Datasource) CTX.lookup ("Java: Comp / Env / JDBC / TESTDB");</p> <p>IF (ds! = null) {connection conn = ds.getConnection ();</p> <p>IF (conn! = null) {foo = "got connection" conn.tostring (); statement stmt = conn.createstatement (); resultset = stmt.executeQuery ("Select * from orderers"); if (Rst.next ()) {foo = Rst.getstring ("Customerid"); bar = Rst.Getint ("ORDERID");} CONN.CLOSE ();}}} Catch (Exception E) {E.PrintStackTrace ();}}</p> <p>Public string getfoo () {return foo;} public int getbar () {return bar;}}</p> <p>Then INDEX.JSP file</p> <p><html> <head> <title> db test </ title> </ head> <body> <% foo.dbtest tst = new foo.dbtest (); tst.init ();%></p> <p><H2> MS SQL Server 2000 Java Search Results </ H2> Foo <% = TST.GETFOO ()%> Bar <% = TST.GetBar ()%></p> <p></ body> </ html></p> <p>Compile operation, if you don't accident, you should retrieve a record.</p> <p>My IE shows MS SQL Server 2000 Java Search Resultsfoo Vinetbar 10248</p> <p>OK, the formulation is successful!</p> <p>Reference document: http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html Above there is mysql and oracle8i connection tutorial, interested friends can go to see. ============================================================================================================================================================================================================= ==================================== BTW: Tomcat5 is likely to have problems, and the solution sees the http: // blog in my blog. 9cbs.net/neetsniffert/archive/2004/10/14/135817.aspx</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-106671.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="106671" 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.047</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 = '1_2FJ_2BJo1gAivf_2B_2BWYjQsQwPKmmyZE_2FOa_2BL3Jdl3nGp_2BxA9uh5QP0OEuYP3McpBZBI88ww5IfBO6yfsFrw9eYVpA_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>