首页 > 开发 > Tomcat > 正文

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

2020-02-05 13:39:45
字体:
来源:转载
供稿:网友
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();
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表