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

1/5/2008来源:Java教程人气:4100


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