tomcat相信大家已经很熟悉了,作为一种免费而强大的java web server,得到了很多java爱好者的青睐,最新版本的tomcat5支持servlet2.4和jsp2.0,今天我将采用tomcat5和ms sqlserver 000一起来开始数据库连接池配置之旅。
需要的准备
1、jdk 我使用的版本1.4.01
2、tomcat 5 我使用的是5.0.16版本 下载地址:http://jakarta.apache.org/site/binindex.cgi
3、mssql server 2000 数据库
4、mssql server 2000的官方jdbc driver ,可以到微软的官方网站免费下载
好了在安装完上面的软件之后,就进入配置实战了:)
一、找到jdbc的安装目录,把lib目录下面的msbase.jar和mssqlserver.jar、msutil.jar三个文件一起copy到$catalina_home/common/lib/($catalina_home代表的是你的tomcat5的安装目录)
二、用文本编辑器,我这是使用editplus(她可是我的挚爱奥)打开$catalina_home/conf/server.xml文件,找到配置context的地方,把下面的代码
粘贴到文件里面
<context path="/dbtest" docbase="d:\rautinee work\db\"
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 0 for no limit.
-->
<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>
<!-- mssqlserver db username and password for db connections -->
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<!-- class name for mssqlserver jdbc driver -->
<parameter>
<name>driverclassname</name>
<value>com.microsoft.jdbc.sqlserver.sqlserverdriver</value>
</parameter>
<!-- 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>
注意:我本地的数据库的sa的密码为空,数据库使用的是northwind,我的目录名dbtest,他的目录是d:\rautinee work\db\
打开dbtest下面的web.xml文件,用下面的代码替换原来的内容
<?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>
<description>mssql 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>
ok,配置完成,下面的工作是需要编写两个文件测试一下,连接是否成功。
这里我用了http://jakarta.apache.org上面的例子
首先是bean文件
package foo;
import javax.naming.*;
import javax.sql.*;
import java.sql.*;
public class dbtest {
string foo = "not connected";
int bar = -1;
public void init() {
try{
context ctx = new initialcontext();
if(ctx == null )
throw new exception("boom - no context");
datasource ds = (datasource)ctx.lookup("java:comp/env/jdbc/testdb");
if (ds != null) {
connection conn = ds.getconnection();
if(conn != null) {
foo = "got connection "+conn.tostring();
statement stmt = conn.createstatement();
resultset rst =
stmt.executequery("select * from orders");
if(rst.next()) {
foo=rst.getstring("customerid");
bar=rst.getint("orderid");
}
conn.close();
}
}
}catch(exception e) {
e.printstacktrace();
}
}
public string getfoo() { return foo; }
public int getbar() { return bar;}
}
然后是index.jsp文件
<html>
<head>
<title>db test</title>
</head>
<body>
<%
foo.dbtest tst = new foo.dbtest();
tst.init();
%>
<h2>ms sql server 2000 java search results</h2>
foo <%= tst.getfoo() %><br/>
bar <%= tst.getbar() %>
</body>
</html>
'www.knowsky.com
编译运行,如果不出意外,应该检索到一条记录,
我的ie中显示的是
ms sql server 2000 java search results
foo v.net
bar 10248
ok,配制成功!
参考文档:
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html 上面有mysql和oracle8i的连接教程,有兴趣的朋友可以上去看一下。
作者 海仔 email:rautinee@21cn.com http://www.tryitsoft.com
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器