`
zhaoningbo
  • 浏览: 620441 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java web项目配置tomcat连接池的那些搓事

    博客分类:
  • java
阅读更多

引言:

    博客停了两天了,今天有点时间了,写点排Tomcat连接池BUG的总结贴吧。肯定对新手有帮助~。=


正文:

    本文包含两部分内容。第一部分是在eclipse下配置项目自身的连接池,这块有问题的比较多主要解决两个异常。第二部分是在Tomcat下配置全局连接池,这块有官方文档问题较少,简单过一下。

    本文的样例老规律,您可以在文尾下载到他。其中,测试获取连接写法如下:

 

// 获取Content对象
javax.naming.Context ctx = new javax.naming.InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("java:/comp/env/jdbc/webdb");
Connection conn = ds.getConnection();

 

第一部分:eclipse下配置连接池

==操作非常简单步骤如下==

    1 ,编辑\WEB-INF\web.xml(如果没有看一下项目是不是j2ee或者java web吧,两个叫法同一回事)。

      向<web-app>尾部追加子结点<resource-ref>具体内容如下:

 

<resource-ref>
    <!-- 连接池名,一般为“jdbc/<数据源名>”,与context.xml -->
    <!--   中的"<Resource>.name"对应即可 -->
    <res-ref-name>jdbc/webdb</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

 

    2 ,编辑\META-INF\context.xml(如果看不到,新建一个吧)。

      内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Resource name="jdbc/webdb" auth="Container"
        type="javax.sql.DataSource"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://10.0.2.128:3306/webdb?characterEncoding=UTF-8"
        username="number"
        password="znb041"
        maxActive="200"
        maxIdle="50"
        maxWait="3000">
    </Resource>
</Context>

 

    3 ,检查环境。

      A)数据库jdbc包,已在lib目录,且被引入Build Path下;
      B)数据库处于运行状态。
      C)创建Tomcat6 Server,启动空跑成功,且访问到默认页面。

    4 ,从eclipse启动“Tomcat v6.0 Server”。

==常见的两个报错==

    1 ,“did not find a matching property”(跟池无关,细节自查)如下所示:

 

2011-7-8 11:24:29 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source'
 to 'org.eclipse.jst.jee.server:webdemo' did not find a matching property.

 

    解决:

      A)打开Servers视图(eclipse | show view | others... | Servers);
      B)打开前面创建的“Tomcat v6.0 Server”(双击就成),停掉此Tomcat Server;
      C)找到“Server Options”,给“publish module contexts to separate XML files”打勾选中,保存;
      D)再次启动Tomcat Server,解决。

    2 ,“Cannot create JDBC driver of class '' for connect URL 'null'”,如下所示:

 

信息: Server startup in 237 ms
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' 
		for connect URL 'null'
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(
		BasicDataSource.java:1452)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(
		BasicDataSource.java:1371)

 

    解决:

      出现这个提示,说明web.xml中的<resource-ref>已被接受。只是查找不到<res-ref-name>指定的数据源。因此,跟网上所说的anyoneormore in{jdbc包啦,环境变量啦,tomcat配置啦,换MyEclipse啦,重装猫和日蚀啦,杀毒还原系统啦,上传你的代码啦。。。}都无关,只是简单地读不到源。因此,要检查的是:
        A)context.xml标签值,是否真有空,或者null(1%可能,系舍入进来的);
        B)玩个找茬游戏,看看这两字符串区别:“\META-INF\context.xml”,“\WEB-INF\context.xml”……之后,你懂的。

第二部分:Tomcat下配置连接池

==操作非常简单步骤如下==

    1 ,编辑\conf\server.xml。

      向<GlobalNamingResources>尾部追加子结点(切记是追加,别把“<Resource>.name=UserDatabase”的哥给整没了)。内容如下:

 

<GlobalNamingResources>
    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>

    <!-- name值在下文有对应关系-->
    <Resource name="jdbc/webdb"
        auth="Container" driverClassName="com.mysql.jdbc.Driver"
        maxActive="200" maxIdle="50" maxWait="3000"
        username="number" password="znb041" type="javax.sql.DataSource"
        url="jdbc:mysql://10.0.2.128:3306/webdb?characterEncoding=UTF-8" >
    </Resource>
</GlobalNamingResources>
 

    2 ,编辑\conf\Catalina\localhost\webdemo.xml(文件名可随便起,没有就新建有就打开看看,结构一样就改改)。

      内容样本如下:

 

<Context path="/webdemo" docBase="/webdemo" debug="0">
    <!-- 与上文“server.xml”中的<Resource>.name对应 -->
    <ResourceLink name="jdbc/webdb"
        global="jdbc/webdb"
        type="javax.sql.DataSource" />
<Context>

 

    3 ,启动\tomcat*\bin\startup.bat,测试。如报异常,请参看第一部分。因为官方有文档,问题不大。

 

 

    如有其他相关问题,欢迎尾随交流~。=

 

    我自己也被搞蒙过,话说——“BUG少的人不是没有道理的。

 

    (完结)

 

 

 

 

 

 

3
3
分享到:
评论
2 楼 zhaoningbo 2011-12-05  


恩,呵呵~
1 楼 铃儿响叮当 2011-12-05  
先放着!

相关推荐

    Tomcat连接池配置.doc

    Tomcat 连接池配置详解 Tomcat 连接池配置是 Web 应用程序中一个非常重要的组件,它负责管理和维护数据库连接,确保数据访问...通过本文,读者可以快速掌握 Tomcat 连接池配置的步骤和原理,并将其应用于实际项目中。

    Tomcat连接池配置

    **标题**: Tomcat连接池配置 **描述**: Tomcat连接池配置涉及到在Apache Tomcat服务器中设置数据源,以便高效地管理和复用数据库连接。这包括对Oracle和MSSQL Server这两种不同类型的数据库进行配置,并在Java应用...

    Tomcat连接池的配置

    总结来说,配置Tomcat连接池是提升Web应用数据库访问性能的重要步骤。通过合理配置连接池参数,可以有效管理数据库连接,避免资源浪费,提升系统整体性能。同时,持续监控和优化连接池设置是保持系统高效运行的关键...

    Tomcat连接池配置详解

    总结来说,配置Tomcat连接池是提升Web应用性能的关键步骤,它涉及到管理界面的操作和配置文件的修改。理解这些参数的意义并根据实际情况进行调整,能够帮助你更好地管理和优化你的数据库连接,提升应用的整体性能。

    Tomcat web应用中配置连接池的详细过程

    对于部署在Tomcat服务器上的Java Web应用而言,配置一个合适的连接池显得尤为重要。本文将详细介绍如何在Tomcat环境中配置Oracle数据库连接池,并给出相应的配置示例。 #### 二、配置步骤 ##### 1. 在 `server.xml...

    tomcat连接池配置

    本文将深入探讨Tomcat连接池的配置,包括为什么要使用连接池、如何配置以及相关jar包和文档的使用。 一、连接池的概念 连接池是一种在应用程序启动时预创建一定数量的数据库连接,供多个线程共享使用的机制。当应用...

    Tomcat6配置连接池

    Apache Tomcat作为一款流行的Java Web服务器,其内置的数据库连接池功能为开发者提供了极大的便利。本文将详细介绍如何在Tomcat 6中配置数据库连接池,并通过实际案例进行演示。 #### 二、配置步骤详解 ##### 2.1 ...

    mysql+tomcat连接池配置

    MySQL和Tomcat是Java Web开发中常用的数据库管理系统和应用服务器,它们之间的连接池配置是确保高效数据访问的关键。本文将详细介绍如何配置MySQL与Tomcat的连接池,以便在Java应用程序中实现优化的数据交互。 首先...

    Tomcat配置连接池说明

    ### 二、Tomcat连接池配置详解 #### 1. 修改server.xml文件 Tomcat的server.xml文件位于conf目录下,是Tomcat的核心配置文件,控制着Tomcat的启动、停止以及主要服务的配置。在该文件中,我们可以通过添加`...

    tomcat连接池的配置与性能测试

    `Tomcat连接池`是Java应用服务器中用于管理数据库连接的一种机制,它的目的是提高...总的来说,理解和配置Tomcat连接池是Java Web开发中必不可少的技能,而性能测试则帮助我们确保应用在实际环境中能提供最佳的服务。

    tomcat连接池应用例子

    标题“Tomcat连接池应用例子”指的是在Java Web开发中,使用Tomcat内置的数据源(连接池)来管理与MySQL数据库的连接。Tomcat作为流行的Java应用服务器,提供了高效的连接池服务,帮助开发者优化数据库操作的性能和...

    tomcat 连接池的配置笔记以及测试源码

    本文将深入探讨Tomcat连接池的配置,包括全局与局部配置的区别,以及可能出现的错误类型,并提供相关的测试源码。 一、Tomcat连接池介绍 Tomcat内建了两种连接池实现:Apache Commons DBCP(Database Connection ...

    tomcat数据连接池配置

    在IT行业中,Tomcat是一款广泛使用的轻量级Java EE应用服务器,它主要负责运行Web应用程序。...正确配置和管理数据连接池能显著提升Web应用的性能,同时降低资源消耗,是每个Java开发者必备的技能之一。

    配置tomcat连接池

    【标题】:配置Tomcat连接池 在Java Web开发中,Tomcat作为一款广泛应用的开源Servlet容器,常常需要与数据库进行交互。为了提高系统性能,有效地管理数据库连接,我们会使用到连接池技术。本教程将指导你如何在...

    TOMCAT数据库连接池配置说明文档

    TOMCAT数据库连接池配置是Java Web开发中不可或缺的一环,它能够有效地管理和优化数据库连接,提高系统性能。以下是对TOMCAT数据库连接池配置的详细说明。 首先,你需要下载TOMCAT及其管理控件包,通常推荐使用5.x...

    Tomcat6连接池配置详解(自动重连)

    ### Tomcat6连接池配置详解(自动重连) #### 一、引言 在现代Web应用开发中,数据库连接管理是非常重要的一环。为了提高应用性能并确保资源的有效利用,通常采用连接池技术来管理数据库连接。Apache Tomcat作为一...

Global site tag (gtag.js) - Google Analytics