为什么80%的码农都做不了架构师?>>>   

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());    
        }
%>

 

本文出自 “乔磊的博客 学习 进步” 博客,请务必保留此出处http://sucre.blog.51cto.com/1084905/360048

转载于:https://my.oschina.net/sucre/blog/296253

在Tomcat中配配置数据源汇总相关推荐

  1. Tomcat使用JNDI配置数据源

    Tomcat使用JNDI配置数据源 要在Tomcat中使用JNDI(Java Naming and Directory Interface:Java命名和目录接口)来配置数据源,我们可以去参考Tomc ...

  2. 在tomcat中用jndi配置数据源启动java web程序

    1.在web.xml中添加: <resource-ref>     <res-ref-name>jdbc/MTSDB</res-ref-name>     < ...

  3. tomcat服务器配置文件虚拟路径,tomcat中如何配置虚拟路径

    第一步:打开server.xml配置文件.在Host节点里写上该行代码: 如下图: 它的作用是只要路径以/upload开头它就会自动的匹配到E盘的upload文件夹下 数据库的存放路径就是上面红色的方 ...

  4. Tomcat快速入门(Tomcat安装 把一个项目发布到tomcat中 Eclipse配置Tomcat idea配置tomcat)

    文章目录 服务器的概念 服务器 Web服务器软件:接收客户端发送的请求和响应客户端请求. 常见的Web服务器软件 Tomcat安装 win下启动乱码问题解决 Tomcat目录介绍 如何把一个项目发布到 ...

  5. Tomcat中如何配置使用APR

    APR(Apache Portable Runtime),即Apache可移植运行库,正如官网所言,APR的使命是创建和维护一套软件库,以便在不同操作系统(Windows.Linux等)底层实现的基础 ...

  6. Mybatis+Tomcat使用JNDI配置数据源入门

    在我们已经有了Mybatis基础的情况下,我们可以使用Tomcat部署web项目 1.创建Maven项目 选择webapp 2.配置pom.xml 在pom.xml中添加依赖 这里的依赖比单纯的Myb ...

  7. tomcat中编码配置

    在tomcat解压目录下打开 conf/server.xml 文件,在63行找到 <Connector port="8080" protocol="HTTP/1.1 ...

  8. Jenkins在tomcat中启动配置nginx

    针对war在webapps下 [root@srv-webapps]# ls docs  examples  host-manager  jenkins  jenkins.war  manager  R ...

  9. tomcat中配置jndi数据源以便spring获取

    [0]README 0)intro to jndi, plase visit intro to jndi: 1)本文译自 Configuring Spring MVC JdbcTemplate wit ...

最新文章

  1. 这类程序员成华为宠儿,分分钟秒杀众应届毕业生
  2. python秒表游戏代码_用20行Python代码实现2048小游戏,你会吗?
  3. CTFshow 文件包含 web79
  4. qt在visual studio 2015下的使用
  5. “百度贴吧之父”俞军:百度最大的问题是缺少竞争
  6. 关于PMP考试的流程,很实用
  7. 学编程的学习技巧_快速学习编程的10个关键技巧
  8. 运营Tumblr的几个建议-教你成为tumblr达人
  9. 相机和镜头选型计算公式
  10. 千万级中文公开免费聊天语料数据分享
  11. 史上最全的Java进阶书籍推荐
  12. 报告:加密货币和石油市场暴跌是市场接近“闪电崩盘”的标志
  13. 解决win7防火墙打不开的问题:错误代码1079和错误代码13
  14. 二维离散动力学系统的混沌研究【基于matlab的动力学模型学习笔记_9】
  15. radio、checkbox在使用iCheck后,绑定选中事件
  16. Android自定义键盘(KeyboardView)
  17. flash 怎么擦掉fpga_基于FPGA的flash板卡程序擦除与固化
  18. dcmm认证发证机构有哪些?
  19. 马斯洛的的五层需求完美吗 不
  20. SQLSERVER2012数据恢复过程

热门文章

  1. 天宫初级认证答案_百度初级认证试题答案
  2. 不冲突的端口范围_网络中IP地址发生冲突故障怎么办
  3. mysql连接代替子查询_MySQL优化之使用连接(join)代替子查询
  4. 《管理系统中计算机应用》上机题,《管理系统中计算机应用》上机试题
  5. docker 容器端口访问不到_docker容器无法访问宿主机端口的解决
  6. 前端html预览,HTML5 上传前预览
  7. python三引号解析_[宜配屋]听图阁
  8. 单片机拼字程序怎么做_餐饮怎么用微信小程序?餐饮行业怎么做小程序
  9. adb 更新 android sdk,[转载]安装Android时SDK AVD MANAGER时更新报错的解决办法
  10. 商业智能解决方案_格至智能开关:简单便捷的商业智能照明解决方案