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

豆豆网   技术应用频道   2008年09月08日  【字号: 收藏本文

本文详细介绍研究Tomcat的结构,彻底解决数据源连接数据库

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

作者:gotoidea    责编:豆豆技术应用

正在加载评论...