UML软件工程组织

研究Tomcat的结构,彻底解决数据源连接数据库
gotoidea
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();

 

版权所有:UML软件工程组织