111111
精灵王
精灵王
  • 注册日期2010-12-08
  • 发帖数640
  • QQ
  • 火币1103枚
  • 粉丝120
  • 关注75
  • 社区明星
阅读:3900回复: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

喜欢0 评分0
游客

返回顶部