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