TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
Tomcat相信大家已经很熟悉了,作为一种免费而强大的java web server,得到了很多java爱好者的青睐,tomcat5支持Servlet2.4和jsp2.0,今天我将采用Tomcat5和mssql server 2000一起来开始数据库连接池配置之旅。
需要的准备
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: estjdbc" 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>8345660</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://10.10.1.1:1433;databasename=Northwind</value>
</parameter>
</ResourceParams>
</Context>
打开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>
编译运行,如果不出意外,应该检索到一条记录,
我的ie中显示的是
Ms sql server 2000 java search Results
Foo VINET
Bar 10248
ok,配制成功!
参考文档:
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html
//***************如果您要转载上面的文章,请保留此信息,谢谢!**********
作者 海仔 email:rautinee@21cn.com http://www.tryitsoft.com
//***************如果您要转载上面的文章,请保留此信息,谢谢!**********
源码下载:http://file.javaxxz.com/2014/10/11/062141359.zip |
|