研究Tomcat结构,解决数据源连接数据库

发表于:2007-06-22来源:作者:点击数: 标签:
Tomcat 服务器 是由一系列的可配置俄组件构成的,其中核心的是Catalina Servlet容器,下面是组件关系 Server> !--顶层元素,是Tomcat实例的顶层元素,可包含一个或多个Service--> Service> !--连接器元素,包含一个Engine元素,以及一个或多个Connector元素,

   
  Tomcat服务器是由一系列的可配置俄组件构成的,其中核心的是Catalina Servlet容器,下面是组件关系
  
  < Server>< !--顶层元素,是Tomcat实例的顶层元素,可包含一个或多个Service-->
  

    < Service>< !--连接器元素,包含一个Engine元素,以及一个或多个Connector元素,这些Connector共享同一个Engine-->
  
      < Connector>< !--实际和客户交互的组件-->
  
       < Engine>< !--容器类元素,可以包含多个Host元素-->
  
          < Host>< !--定义一个虚拟主机,它可以包含一个或多个Web应用-->
  
                    < Context>< !--使用最频繁的元素,每个Context代表运行在虚拟主机上的应用-->
  
  ......................< /Context>
  
  嵌套类元素可以加到容器组件中如:< Logger>< Value>< Realm>元素
  
  所以在server.xml中,我们只要添加,在tomcat5.0.x中是没有Context标记的,所以以前在没有了解目录结构时候,总是添加位置错误
  
  < Context path="/data" docBase="data" debug="0" reloadable="true">
  
  < !--这里特别注意,指出了Web应用的相对路径-->
  < Resource name="jdbc/sunny" scope="Shareable" auth="Container"
   type="javax.sql.DataSource">< /Resource>
   < ResourceParams name="jdbc/sunny">
    < parameter>
    < name>factory< /name>
    < value>org.apache.commons.dbcp.BasicDataSourceFactory< /value>
    < /parameter>
    < parameter>
         < name>removeAbandoned< /name>
         < value>true< /value>
        < /parameter>
    < parameter>
         < name>logAbandoned< /name>
         < value>true< /value>
        < /parameter>
    < !-- DBCP database connection settings -->
    < parameter>
    < name>url< /name>
    < value>jdbc:mysql://localhost:3306/sony< /value>
    < /parameter>
    < parameter>
    < name>driverClassName< /name>< !--< value>com.mysql.jdbc.Driver< /value>-->
    < value>org.gjt.mm.mysql.Driver< /value>
    < /parameter>
    < parameter>
    < name>username< /name>
    < value>root< /value>
    < /parameter>
    < parameter>
    < name>password< /name>
    < value>< /value>
    < /parameter>
  
    < !-- DBCP connection pooling options -->
    < parameter>
    < name>maxWait< /name>
    < value>3000< /value>
    < /parameter>
    < parameter>
    < name>maxIdle< /name>
    < value>100< /value>
    < /parameter>
    < parameter>
    < name>maxActive< /name>
    < value>10< /value>
    < /parameter>
   < /ResourceParams>
  
  < /Context>
  
  在Jsp页面中
  
  javax.naming.Context ctx = new javax.naming.InitialContext
  
  DataSource ds =(DataSource) ctx.lookup("java:comp/env/jdbc/sunny")
  
  Connection conn = ds.getConnection();

原文转自:http://www.ltesting.net