在Tomcat中配配置数据源汇总

本文涉及的产品
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:
Tomcat本身不具备处理提供数据源的能力。借助于一些开源数据源实现,如:DBCP和C3P0等。

一、在http://commons.apache.org/可下载这些是Tomcat提供配置数据源所需的类库。
注意:Tomcat5.5以上标准版本自带dbcp,放在$Tomcat\common\lib目录;

下载三个文件后,将三个文件解压到Tomcat/common/lib,
1.The DBCP Component 
commons-dbcp-1.2.1.jar
http://commons.apache.org/dbcp/

2.The Pool Component 1.2.jar
commons-pool-1.2.jar
http://commons.apache.org/pool/

3.Commons Collections 3.1
commons-collections-3.1.jar
http://commons.apache.org/collections/


There are several examples  of using DBCP available.
http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/doc/

4、把数据库JDBC驱动拷贝到%TOMCAT_HOME%/common/lib和
                           %TOMCAT_HOME%/webapps/yourweb/WEB-INF/lib下(我的web文件夹名字叫quickstart)

二、

    1.  SQL server2000
 <Resource 
name="jdbc/quickstart" 
type="javax.sql.DataSource" 
password="123456" 
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" 
maxIdle="2" 
maxWait="5000" 
username="sa" 
url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"   maxActive="4"/>


 2.MySQL
     <Resource    
                 name="jdbc/hnport" 
                type="javax.sql.DataSource" 
                password="sharker" 
                driverClassName="com.mysql.jdbc.Driver" 
                maxIdle="2" 
                maxWait="5000" 
                username="root" 
                url="jdbc:mysql://localhost:3306/hnport" 
                maxActive="4"/>


三、按数据源使用范围来分数据源配置两个方法:

方法一:所用Web可使用(全局数据源)
  
  1、修改%TOMCAT_HOME%/conf/server.xml文件,在<GlobalNamingResources></GlobalNamingResources>之间加入如下代码:
              < Resource    
                 name ="jdbc/hnport" 
                 type ="javax.sql.DataSource" 
                 password ="sharker" 
                 driverClassName ="com.mysql.jdbc.Driver" 
                 maxIdle ="2" 
                 maxWait ="5000" 
                 username ="root" 
                 url ="jdbc:mysql://localhost:3306/hnport" 
                 maxActive ="4" />

  2、修改%TOMCAT_HOME%/webapps/yourweb/WEB-INF下的web.xml文件,在<web-app></web-app>之间添加以下内容
 
   < resource-ref > 
< description >mysql Connection </ description > 
< res-ref-name >jdbc/hnport </ res-ref-name > 
< res-type >javax.sql.DataSource </ res-type > 
< res-auth >Container </ res-auth > 
</ resource-ref >


3、在%TOMCAT_HOME%/conf/Catalina/localhost下新建一个与你web文件夹同名的xml文件(我的是quickstart.xml)

这一步非常重要,如果没有这步就会出错,会出现org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

<? xml  version ="1.0"  encoding ="UTF-8" ?> 
< Context  path ="/hnport"  reloadable ="true"  docBase ="d:\hnport\WebRoot"  workDir ="d:\hnport\work" > 
     < Resource  name ="jdbc/hnport" 
      type ="javax.sql.DataSource" 
      password ="sharker" 
      driverClassName ="com.mysql.jdbc.Driver" 
      maxIdle ="2" 
      maxWait ="5000" 
      username ="root" 
      url ="jdbc:mysql://localhost:3306/hnport" 
      maxActive ="4" /> 
</ Context > 

方法二:只有某个Web可用(局部数据源
        1.该方法不会造成系统混乱,只需修改%TOMCAT_CAT%\conf\Cattalin\localhost下的Web配置文件。如:hnport.xml

<? xml  version ="1.0"  encoding ="UTF-8" ?> 
< Context  path ="/hnport"  reloadable ="true"  docBase ="d:\hnport\WebRoot"  workDir ="d:\hnport\work" > 
     < Resource  name ="jdbc/hnport" 
      type ="javax.sql.DataSource" 
      password ="sharker" 
      driverClassName ="com.mysql.jdbc.Driver" 
      maxIdle ="2" 
      maxWait ="5000" 
      username ="root" 
      url ="jdbc:mysql://localhost:3306/hnport" 
      maxActive ="4" /> 
</ Context >



 2 、修改 %TOMCAT_HOME%/webapps/yourweb/WEB-INF 下的 web.xml 文件 , <web-app> </web-app> 之间添加以下内容
  
   < resource-ref > 
< description >mysql Connection </ description > 
< res-ref-name >jdbc/hnport </ res-ref-name > 
< res-type >javax.sql.DataSource </ res-type > 
< res-auth >Container </ res-auth > 
</ resource-ref > 

<!-- [if !supportLineBreakNewLine]--> 
<!-- [endif]-->





四.测试
<%@page contentType="text/html;charset=big5"%>    
<%@page import="java.sql.*"%>    
<%@page import="javax.sql.*" %>    
<%@page import="javax.naming.*" %>    
<%    
        try {    
                Context initContext = new InitialContext();    
                Context envContext    =    
                        (Context)initContext.lookup("java:/comp/env");    
                DataSource ds =    
                        (DataSource)envContext.lookup("jdbc/hnport");    
                Connection conn = ds.getConnection();    
    
                if(!conn.isClosed())    
                         
                        out.println("数据库连接测试成功");    
                conn.close();    
        }    
        catch(SQLException e) {    
                out.println(e.toString());    
        } 
%>



本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/360048,如需转载请自行联系原作者
 
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
网络协议 Java 应用服务中间件
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
|
12月前
|
Java 应用服务中间件 Linux
在Java 12环境中配置和部署Apache Tomcat的步骤。
这段部署Tomcat的冒险旅程充满技术挑战,但同时也像游戏一样充满乐趣。它需要你提前准备,仔细执行,并随时准备解决意外情况。成功后,你就可以在这匹强壮的网络野马上,带着你的Java应用,冲向Web开发的璀璨星空。
318 56
|
9月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1599 5
|
安全 应用服务中间件 网络安全
Tomcat如何配置PFX证书?
【10月更文挑战第2天】Tomcat如何配置PFX证书?
856 7
|
存储 算法 应用服务中间件
Tomcat如何配置JKS证书?
【10月更文挑战第2天】Tomcat如何配置JKS证书?
1359 4
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
802 27
|
网络协议 Java 应用服务中间件
tomcat配置域名及HTTPS
tomcat配置域名及HTTPS
1054 1
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
1658 18
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
678 11
|
Java 关系型数据库 MySQL
JDK、Tomcat、MariaDB数据库和Profile多环境的配置与使用
以上就是JDK、Tomcat、MariaDB数据库和Profile多环境的配置与使用的基本步骤。这些步骤可能会因为你的具体需求和环境而有所不同,但是基本的思路是一样的。希望这些信息能够帮助你更好地理解和使用这些工具。
405 17