使用tomcat4.1.31和mysql 配置数据源

本文介绍如何在Tomcat环境下配置数据库连接池,包括server.xml和web.xml的修改方法,并提供了一个使用JSP进行测试的例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  原来都是通过编写一个数据库连接类的方式来访问数据库:

package db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBConnect
{
    public static Connection getConnection()
    {

        Connection  con = null;
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://127.0.0.1/mydatabase";
            Connection con = DriverManager.getConnection(url,"root","");
           
            Statement stat = con.createStatement();
            ResultSet rs = stat.executeQuery("select * from student");
            while(rs.next())
            {
                System.out.println(rs.getString(2));
            }
        }
        catch (ClassNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (SQLException e)
        {
            e.printStackTrace();
        }
    }

   return con;
}

通过以上的代码,我们就可以在任意的地方,通过静态方法来访问数据库!还是比较方便的,但是也有一点不好的地方,就是在tomcat下,多个项目都要用的话,还是要写多次(可能也是我不会搞),我就想到如果在数据源里面配置一次,就全部搞定了!

研究了一下,配置还是比较简单的:

我的一些环境配置:tomcat 安装在D:/jakarta-tomcat-4.1.31

配置目录在D:/jakarta-tomcat-4.1.31/conf ,这个目录下有一个重要的文件server.xml

我的项目在:D:/jakarta-tomcat-4.1.31/webapps/ABC

项目的配置文件在:D:/jakarta-tomcat-4.1.31/webapps/ABC/WEB-INF/web.xml

测试用的jsp文件在:D:/jakarta-tomcat-4.1.31/webapps/ABC/test.jsp

几个注意点如下:

1.修改tomcat的配置文件server.xml

在</host>关标签前,添加一个<Context>...</Context>

具体如下:

<Context path="/ABC" docBase="ABC" debug="5" reloadable="true" crossContext="true">
  <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_DBCP_log." suffix=".txt" timestamp="true"/>
  <Resource name="jdbc/my" auth="Container" type="javax.sql.DataSource"/>
  <ResourceParams name="jdbc/my">
   <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
   </parameter>
   <parameter>
   <name>removeAbandoned</name>
   <value>true</value>
   </parameter>  
    <parameter>
       <name>removeAbandonedTimeout</name>
       <value>5</value>
    </parameter> 
   <parameter>
    <name>maxActive</name>
    <value>500</value>
   </parameter>
   <parameter>
    <name>maxIdle</name>
    <value>50</value>
   </parameter>
   <parameter>
    <name>maxWait</name>
    <value>10000</value>
   </parameter>
   <parameter>
   <name>username</name>
    <value>root</value>
   </parameter>
   <parameter>
    <name>password</name>
    <value></value>
   </parameter>
   <parameter>
    <name>driverClassName</name>
    <value>com.mysql.jdbc.Driver</value>
   </parameter>
   <parameter>
    <name>url</name>
    <value>jdbc:mysql://127.0.0.1/STUDENTDB?autoReconnect=true&amp;autoReconnectForPools=true&amp;maxReconnects=10&amp;useUnicode=true&amp;characterEncoding=GBK</value>
   </parameter>
  </ResourceParams>
 </Context>

其中红色的ABC是我们tomcat中项目的名字

蓝色的jdbc/my是数据库的JNDI名字

加重颜色的usernamepassword 就是访问mysql的用户名和密码

com.mysql.jdbc.Driver 是连接mysql数据库的驱动

jdbc:mysql://127.0.0.1/STUDENTDB 是连接数据库的字符串,其中 studentdb是数据库的名字

2.配置 项目中的web.xml

在 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> 
 <resource-ref>

  <description>asd</description>

  <res-ref-name>jdbc/my</res-ref-name>

  <res-type>javax.sql.DataSource</res-type>

  <res-auth>Container</res-auth>

 </resource-ref>

</web-app>

3.编写 jsp文件测试配置

<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="javax.naming.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
try
{
 Context initCtx = new InitialContext();
 Context envCtx = (Context)initCtx.lookup("java:comp/env");
 DataSource ds = (DataSource)envCtx.lookup("jdbc/my");
 Connection con = ds.getConnection();
 
 Statement stat = con.createStatement();
 ResultSet rs = stat.executeQuery("select * from student");
 while (rs.next())
 {
  System.out.println(rs.getString(2));
  out.println(rs.getString(2));
 }
}
catch (NamingException e)
{
 e.printStackTrace();
}
catch (SQLException e)
{
 e.printStackTrace();
}
%>
</body>
</html>

通过以上3步,就可以实现数据源的配置! tomcat 5.x 的配置方法一样!

 

(转自八宝菜园)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值