精灵王 
					 
				 
				
				
									- 注册日期2010-12-08
 
										- 发帖数640
 
										- QQ
 
										- 火币1103枚
 
										- 粉丝120
 
										- 关注75
 
									 
								
				
				
	
				
				
				
			 
		 | 
		
			
						
				
					阅读:4870回复:0
				 
				Tomcat设置SQLServer连接池-JSP教程,数据库相关
				
									
			 
						
			
				楼主# 
								更多
				
								发布于:2011-01-08 20:27				
			 
						
								
									 
				
				
								
								
				
					
				
				 
				
					  |  |   |    | 1.       进入tomcat目录下的conf目录目录里,找到server.xml 在tomcat的server.xml文件中在</context>标签和</host>标签里,定议连接语句,格式如下 <!?path定议你的应用程式的目录所 ,/dbtest表示在tomcat webapps目录下à <!?docbase=”dbtest” 表示你执行止程式时路径名称,例如以下的执行路径就是http://localhost:8080/dbtest--> <context path="/dbtest" docbase="dbtest"         debug="5" reloadable="true" crosscontext="true">     <!-- maxactive: 连接池的最大数量,要确保有足够的连接数-->     <!-- maxidle: 最大空闲连接数,设置为-1即表示不限制-->     <!-- maxwait:最长等待连接时间(最大等待连接池反回可用的时间), 以纳秒为单位,即设为10000相等于10秒,如果设置成-1表示不确定-->     <!-- username and password: 连接数据库使用的帐号和密码  -->     <!-- driverclassname:连接数据库的驱动程式,如sqlserver就是 com.microsoft.jdbc.sqlserver.sqlserverdriver.-->     <!-- url: 连接数据库路径,如 jdbc:microsoft:sqlserver://localhost:1433;databasename=kb_rate-->         <resource name=" default_jdbc " auth="container" type="javax.sql.datasource"                maxactive="100" maxidle="30" maxwait="10000"                username="javauser" password="javadude" driverclassname=" com.microsoft.jdbc.sqlserver.sqlserverdriver "             url=" jdbc:microsoft:sqlserver://localhost:1433;databasename=kb_rate""/>       </context>       设置完成后,在dbtest目录下添加一个test文件,如下: <%@ page contenttype="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <%@ page import="javax.sql.*"%> <%@ page import="javax.naming.*"%> <%   connection conn = null;   context initctx = new initialcontext();   if (initctx == null)      throw new exception("不能获取context!");       context ctx = (context) initctx.lookup("java:comp/env");       object obj = (object) ctx.lookup("/default_jdbc ");//获取连接池对象       javax.sql.datasource ds = (javax.sql.datasource) obj; //类型转换       conn = ds.getconnection();   statement stmt = conn.createstatement();   preparedstatement ps=conn.preparestatement("select * from finalorderdata");   resultset rs=ps.executequery();   while(rs.next()){       out.println(rs.getstring(1)+"<br>");        i++;   } rs.close(); stmt.close(); conn.close(); out.println("连接池测试成功"+i);       到于tomcat5.0版本的设置也是差不多,不过在server.xml中添加连接池设置语句上有所有不,可参考 http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html 其他操作也是差不多, <context path="/dbtest" docbase="dbtest"         debug="5" reloadable="true" crosscontext="true"> <context path="/dbtest" docbase="dbtest"         debug="5" reloadable="true" crosscontext="true">   <logger classname="org.apache.catalina.logger.filelogger"              prefix="localhost_dbtest_log." suffix=".txt"              timestamp="true"/>   <resource name="jdbc/testdb"                auth="container"                type="javax.sql.datasource"/>   <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 you          configure your mysqld max_connections large enough to handle          all of your db connections. set to 0 for no limit.          -->     <parameter>       <name>maxactive</name>       <value>100</value>     </parameter>     <!-- maximum number of idle db connections to retain in pool.          set to -1 for no limit.  see also the dbcp documentation on this          and the minevictableidletimemillis configuration parameter.          -->     <parameter>       <name>maxidle</name>       <value>30</value>     </parameter>     <!-- maximum time to wait for a db 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.          -->     <parameter>       <name>maxwait</name>       <value>10000</value>     </parameter>     <!-- mysql db username and password for db connections  -->     <parameter>      <name>username</name>      <value>javauser</value>     </parameter>     <parameter>      <name>password</name>      <value>javadude</value>     </parameter>     <!-- class name for the old mm.mysql jdbc driver - uncomment this entry and comment next          if you want to use this driver - we recommend using connector/j though     <parameter>        <name>driverclassname</name>        <value>org.gjt.mm.mysql.driver</value>     </parameter>      -->     <!-- class name for the official mysql connector/j driver -->     <parameter>        <name>driverclassname</name>        <value>com.mysql.jdbc.driver</value>     </parameter>     <!-- the jdbc connection url for connecting to your mysql db.          the autoreconnect=true argument to the url makes sure that the          mm.mysql jdbc driver will automatically reconnect if mysqld closed the          connection.  mysqld by default closes idle connections after 8 hours.          -->     <parameter>       <name>url</name>       <value>jdbc:mysql://localhost:3306/javatest?autoreconnect=true</value>     </parameter>   </resourceparams> </context> 有不足的地方,请各为指正!       更有,的就是请大虾门能告诉一下小弟,怎么设置法才能让连接池做到最高效,因为我试过用tomcat连接池连池,发现比较慢,反应较久,我不知道设错了那里,,!!我的设置如下: <context path="/kb_rate" docbase="/kb_rate"         debug="5" reloadable="true" crosscontext="true">      <resource name="default_jdbc" auth="container" type="javax.sql.datasource"                maxactive="100" maxidle="30" maxwait="10000"                username="sa" password="1234" driverclassname="com.microsoft.jdbc.sqlserver.sqlserverdriver"               url="jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=kb_rate"/> </context>
  更多黑客技术 黑客软件 计算机技术 编程技术 网站技术 qq技术 IT新闻 黑客基地 请访问 灯火安全联盟  灯火黑客 www.hack8888.com/bbs 
  |  |    |  |   |   				 
							 
		 |