研究Tomcat结构,解决数据源连接数据库
2024-09-06 19:01:09
供稿:网友
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();