在Tomcat中配配置数据源汇总

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介:
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,如需转载请自行联系原作者
 
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
69
分享
相关文章
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
Tomcat如何配置PFX证书?
【10月更文挑战第2天】Tomcat如何配置PFX证书?
408 7
Tomcat如何配置JKS证书?
【10月更文挑战第2天】Tomcat如何配置JKS证书?
698 4
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
2118 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
6月前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
87 4
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等