WebLogic 有自带的,挺好用的

解决方案 »

  1.   

    如果你用tomcat的话,给你一篇文章介绍利用tomcat4.1内置连接池连接数据库的方法tomcat4.1较之以前的版本有了很大的变化,这里我们主要介绍利用tomcat4.1内置的连接池,连接数据库的方法,主要是对它的核心配置文件进行一些修改,比以往的方法更简洁,更高效。下面是针对两个不同的操作系统linux和windows的两个不同数据库的详细说明。 &#8226;linux操作系统:Rathat8.0数据库:mysql 下载下列软件包 j2sdk-1_4_0_02-linux-i586-rpm.bin jakarta-tomcat-4.1.12.tar mysql-3.23.53a-rpm mysql-connector-java-2.0.14.tar &#8226;windows操作系统:Windows 2000数据库:SQLServer2000 下载下列软件包 j2sdk-1_4_0_01-windows-i586 jakarta-tomcat-4.1.12.zip setup (Microsoft SQL server 2000 for Driver JDBC) 以下配置适用于redhat8.0-mysql环境,windows2000-sqlsever2000环境下的配置被注释掉了。其中locahost为redhat8.0-mysql和windows2000-sqlsever2000的主机名或IP地址。假设已经建好的数据库名为:DBjsp;用户名zktd;密码 123。  一、修改配置文件 1、在/tomcat/webapps目录下新建应用程序目录,如目录名为DBTest。2、在/tomcat/webapps/DBTest目录下新建分类子目录,如目录名分别为jsp,servlet,WEB-INF。3、在DBTest/WEB-INF目录下新建classes目录,以后自定义的javabean就放置在此目录下4、修改配置文件server.xml 打开配置文件/usr/local/tomcat/conf/server.xml 添加内容的位置在</context>和</host>标签之间 添加内容如下: <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 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>     <!-- MySQL dB username and password for dB connections  -->    <parameter>     <name>username</name>     <value>zktd</value>    </parameter>    <parameter>     <name>password</name>     <value>123</value>    </parameter>     <!-- Class name for mm.mysql JDBC driver -->    <parameter>       <name>driverClassName</name>       <!--*用于sqlserver2000*<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>*sqlserver2000*-->       <value>org.gjt.mm.mysql.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>      <!--*用于SQLServer2000*<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DBjsp</value>*SQLServer2000*-->      <value>jdbc:mysql://localhost:3306/DBjsp</value>    </parameter>  </ResourceParams></Context> 5、新增一个配置文件:web.xml将配置文件放置在/tomcat/webapps/DBTest/WEB-INF/目录下。配置文件内容如下: <?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>MySQL 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> (6)、添加环境变量如果你的tomcat是新安装的,则需要修改下面的配置文件添加环境变量打开配置文件/etc/profile添加下面的环境变量 JAVA_HOME=/usr/java/jdk export JAVA_HOME CLASSPATH=/usr/java/jdk/src.zip export CLASSPATH PATH="$PATH:/usr/X11R6/bin":/usr/java/jdk/bin:/usr/java/jre/bin:. CATALINA_HOME=/usr/local/tomcatexport CATALINA_HOME 二、安装jdbc驱动程序 首先将mysql-connector-java-2.0.14.tar解压缩# tar xvzf  mysql-connector-java-2.0.14.tar然后将JDBC的.jar文件拷贝到公共库的/tomcat/common/lib目录下 同样对于windows2000操作系统的sqlserver2000双击setup安装jdbc驱动程序,将/program files/microsoft SQL Server 2000 driver for JDBC/lib目录下的.jar文件拷贝至公共库的/tomcat/common/lib目录下  三、应用举例(用连接池连接数据库实例) (1)  在数据库DBjsp下建表testdatamysql> create table testdata (
        ->   id int not null auto_increment primary key,
        ->   foo varchar(25), 
        ->   bar int); (2)    编写测试程序test.jsp,读取数据库表名为testdata的字段的内容,并将结果显示出来。testdata有两个字段foo和bar。 <html>  <head>    <title>DB Test</title>  </head>  <body>   <%    foo.DBTest tst = new foo.DBTest();    tst.init();  %>   <h2>Results</h2>    Foo <%= tst.getFoo() %><br/>    Bar <%= tst.getBar() %>   </body></html> (3)编写javabean程序取名为DBTest.java用于连接数据库,将编译好的DBTest.class保存到/tomcat/webapps/DBTest/WEB-INF/classes/foo目录下 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 id, foo, bar from testdata");            if(rst.next()) {               foo=rst.getString(1);               bar=rst.getInt(2);            }            conn.close();        }      }    }catch(Exception e) {      e.printStackTrace();    } }  public String getFoo() { return foo; } public int getBar() { return bar;}} (3)    启动tomcat,运行测试程序# /usr/local/tomcat/bin/startup.shhttp://localhost:8080/DBTest/test.jsp运行结果将显示testdata表中的foo和bar字段的内容。