研究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(); 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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值