JavaWeb开发,配置tomcat数据库连接池的问题,解决以及总结(三) (2008-06-11 22:55:04)转载 标签: tomcat 登陆失败 it 三.Tomcat数据库连接池配置 1. Server.xml的配置 (1)找到tomcat所在目录下的conf/server.xml文件 (2)在文件最后一个</host>前加入如下代码 <Context path="/website" docBase="website" debug="0" reloadable="true"> <Resource <!-- /website为开发目录,可自定--> name="jdbc/connectDB" <!—连接名称,connectDB可自定 --> auth="Container" type="javax.sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="sa" <!--SqlServer2000登陆名称,与你的数据库设置应相同--> password="123456" <!—SqlServer2000密码,自定--> factory="org.apache.commons.dbcp.BasicDataSourceFactory" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_web"/> <!—这里要特别注意,DatabaseName为建立好的数据库名,首先要保证数据库存在,其次,在等号后边和数据库名称之间不能有空格,除非你的数据库名称本身就含有空格,如写成这样DatabaseNae= website,那么你的数据库名称就是“_website”而不是”website”了,下划线标出了空格所在的位置,如果数据库名称打错,调试时会报:org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]无法打开登录 'db_web' 中请求的数据库。登录失败。)--> </Context> 2. web.xml的配置 (1)找到开发目录下的WEB-INF/web.xml文件 (2)在其中的<webapp></webapp>之间加入如下代码 <resource-ref> <description>SQL server text app</description> <res-ref-name>jdbc/connectDB</res-ref-name> <!—这个名称一定要与之前定义的连接名称相同!--> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> 3. 程序内部引用: 在程序内部,按以下代码建立数据库连接池: Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup(“java:comp/env/jdbc/connectDB”); Connection con = ds.getConnection(); 然后就可以使用数据库了。 (全文完)