Tomcat详解

一、Tomcat简介


1Tomcat

   

Tomcat在严格意义上并不是一个真正的应用服务器,它只是一个可以支持运行Serlvet/JSPWeb容器,不过Tomcat也扩展了一些应用服务器的功能,如JNDI,数据库连接池,用户事务处理等等。TomcatApache组织下Jakarta项目下的一个子项目,目前Tomcat被非常广泛的应用在中小规模的Java Web应用中。

Tomcat 是一种具有JSP环境的Servlet容器。Servlet容器是代替用户管理和调用 Servlet的运行时外壳。作为一个开放源代码的软件, Jakarta -Tomcat有着自己独特的优势:

l         首先,它容易得到。事实上,任何人都可以从互联网上自由地下载这个软件。无论从http://jakarta.Apache.org还是从其他网站(Jakarta TomcatApache软件基金会开发的一个开放源码的应用服务器)。

l         其次,对于开发人员,特别是Java开发人员,Tomcat提供了全部的源代码,包括Servlet引擎、JSP引擎、HTTP服务器。无论是对哪一方面感兴趣的程序员,都可以从这些由世界顶尖的程序员书写的代码中获得收益。

l         最后,由于源代码的开放及世界上许多程序员的卓有成效的工作, Tomcat已经可以和大部分的主流服务器一起工作,而且是以相当高的效率一起工作。如:以模块的形式被载入Apache,以ISAPI形式被载入IISPWS,以NSAPI的形式被载入Netscape Enterprise Server

l         由于Java的跨平台特性,基于JavaTomcat也具有跨平台性。

 

 

2Tomcat5.0包含三个主要的部分

 

包括:
* Catalina - 
一个符合Servlet API规范2.3Servlet Container
* Jasper - 
一个符合JSP规范1.2JSP编译器和运行环境
* Webapps - Tomcat
中包含的一些例子和用于测试的web例程,以及相关文档。

 

 

3、应用服务器(如WebLogic)与Tomcat有何区别。

 

       应用服务器提供更多的J2EE特征,如EJBJMSJAAS等,同时也支持JspServlet。而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。



tomcat中配置虚拟目录及数据源的方法总述


(背景需求: 在E盘中建立文件夹 virtual_jsp , 期望将来通过http://localhost:8080/virtualJsp可以访问
 测试环境: 相应的数据为驱动jar文件已经放到%TOMCA_HOME%\common\lib下)


(1)在%TOMCA_HOME%\conf\Catalina\localhost下建立和虚拟目录名称一样的xml文件,virtualJsp.xml;

(2)用记事本或editplus等打开这个xml文件;

(3)输入如下内容

<?xml version="1.0" encoding="UTF-8"?>
<Context
 docBase="E:\JAVA_CODE\virtual_jsp" path="/virtualjsp" reloadable="true" crossContext="true">
 <!--下面是对数据源进行配置-->
 <Resource name="jdbc/dsdurl"
      auth="Container"
      type="javax.sql.DataSource"
      driverClassName="com.mysql.jdbc.Driver"
      url="jdbc:mysql://localhost:3306/bbssys"
      username="root"
      password="123456"
      maxIdle="5"
      maxWait="100"
      maxActive="10"
    />
</Context>

文件中的选项解释如下:

name:指定Resource的JNDI的名字,这也是以后jsp页面中引用DS的依据

auth: 指定管理Resource的Manager,由两个可选值:Container和Application。Container表示由容器来创建和管理Resource,Application表示由WEB应用来创建和管理Resource。如果在web application deployment descriptor中使用<resource-ref>,这个属性是必需的,如果使用<resource-env-ref>,这个属性是可选的

type:指定Resource所属的java类名

username  指定连接数据库的用户名 

password  指定连接数据库的密码 

driverClassName  指定连接数据库的JDBC驱动程序 

url  指定连接数据库的URL 

maxActive  指定数据库连接池中处于活动状态的数据库连接最大数目,0表示不受限制 

maxIdle  指定数据库连接池中处于空闲状态的数据库连接的最大数目,0表示不受限制 

maxWait  指定数据库连接池中的数据库连接处于空闲状态的最长时间(单位为毫秒),超过这一事件,将会抛出异常。-1表示可以无限期等待。 

(4)在E:\virtual_jsp下新建WEB-INF文件夹,其下建立classes,lib,这些目录结构是典型的JSP程序目录结构,在构建的时候可以参考tomcat下应用程序的文件夹结构(虽然这些目录结构对本测试无用:) );

(5)在E:\virtual_jsp\WEB-INF\下建立web.xml,输入如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
 xmlns="http://java.sun.com/xml/ns/j2ee
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <!-- 以下是对DataSource的引用,但好像没有也行,并不像大部分人和书上说的 -->
  <resource-ref>
   <description>DB Connection</description>
 <res-ref-name> jdbc/durl </res-ref-name>
 <res-type>javax.sql.DataSource </res-type>
 <res-auth>Container </res-auth>
  </resource-ref>
</web-app>

文件中各选项注释:

description  对所引用的资源的说明 

res-ref-name  指定所引用资源的JNDI名字,与virtualJsp.xml中<Resource>元素中的name属性保持一致 

res-type  指定所引用资源的类名字,与virtualJsp.xml中<Resource>元素中的type属性保持一致 

res-auth  指定所引用资源的Manager,与virtualJsp.xml中<Resource>元素中的auth属性保持一致  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值