Tomcat数据源配置和部署

[size=large][b]数据源[/b][/size]
Tomcat 5的数据源配置跟Tomcat 5.5的数据源配置有很多的差别,Tomcat 6的数据源配置跟Tomcat 5.5的配置基本上相同。
以前的Tomcat5的配置需要在server.xml文件当中配置或者在conf/Catalina/localhost下面相应的上下文配置文件做配置。这种配置方式不合理的地方在于,假如数据库做了更改,程序员需要手工去修改这些文件,不利于团队开发。
Tomcat 5.5跟Tomcat 6的配置显得更为简单,我们只需要在我们的WebRoot目录下,新建一个META-INF的目录(假如不存在),在该目录下创建一个 context.xml文件,并且在context.xml文件当添加以下的配置信息:
程序代码 程序代码
<Context>
<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"
maxActive="50" maxIdle="30" maxWait="10000" logAbandoned="true"
username="root" password="root" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/temp"/>
</Context>



其中:
name 表示指定的jndi名称
auth 表示认证方式,一般为Container
type 表示数据源床型,使用标准的javax.sql.DataSource
maxActive 表示连接池当中最大的数据库连接
maxIdle 表示最大的空闲连接数
maxWait 当池的数据库连接已经被占用的时候,最大等待时间
logAbandoned 表示被丢弃的数据库连接是否做记录,以便跟踪
username 表示数据库用户名
password 表示数据库用户的密码
driverClassName 表示JDBC DRIVER
url 表示数据库URL地址

在以往的tomcat当中还需要在web.xml指定相应的 resource,在tomcat 5.5以后的版本不写也可以,但建议还是配置。
程序代码 程序代码
  <resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>



配置完之后,还需要将JDBC DRIVER存放在%TOMCAT_HOME%/lib里面,这是必须的,不然,tomcat没有办法找到driver,之后重新启动tomcat


最后,测试数据源是否正确,写一个test.jsp,在test.jsp得到DataSource,以下是程序片断
程序代码 程序代码
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/test");
Connection conn = ds.getConnection();



[size=large][b]部署[/b][/size]
tomcat启动时,默认加载webapp路径中的web应用程序,为了匹配任意路径下的的web应用程序,可以通过配置Context元素

[b]Context元素常用属性[/b][table]
|docBase| 指定web应用的文档根目录、或war包路径名,可指定绝对路径名,也可指定基于Host元素,appBase属性的相对路径|
|path |web应用上下文路径,如果指定空字符串"",则定义了虚拟主机的默认web应用程序,访问localhost即可|
|reloadable| 是否重新自动加载WEB-INF/classes目录改变的文件|
|unpackWAR| Tomcat运行web应用程序时,自动解压缩war包|
[/table]

1,在conf/server.xml文件中,host元素内加入
<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/test" docBase="D:\jsp-examples" reloadable="true"/>
</Host>


2,在conf\Catalina\localhost路径,建立xml文件
<Context path="/test" docBase="D:\jsp-examples" reloadable="true"/>
这时path属性不起作用,以xml文件名作为web应用的上下文路径


[b]WAR包[/b]
在要发布的web应用程序路径,
打WAR包: jar -cvf name.war *
看WAR包内容: jar -tf name.war


[b]Tomcat中servlet的另一种运行方式 -- servlet调用器[/b]\conf\web.xml文件中,有被注释的如下内容

<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
取消注释后可以通过 localhost:8080/webAppName/servlet/xxx.yyy.zzz.AAAServlet直接访问,不用在项目的web.xml文件中配置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值