2014年04月19日

Tomcat 是一款优秀的JSP/Servlet容器,最初由SUN开发,后来被贡献给了Apache社区。Tomcat现在的版本已到6。Tomcat6实现了 Servlet2.5和JSP2.1规范。针对web开发和web服务,提供了更多的新功能。本文使用的版本为Tomcat6.0.14,要求的JDK版 本至少为1.5。Tomcat不同版本间的配置有差异,如果读者使用的是其他版本,请仔细阅读Tomat官方文档,或者到网上寻找相关的资料。

     Tomcat有安装版和解压缩版两种版本,安装版除了提供一个图形界面的后台和Windows服务外,其他的和解压缩版没有区别。我使用压缩版。

     第一步,我们需要下载Tomcat,下载地址是http://tomcat.apache.org。下载完成后,解压缩,我的Tomcat位于C:/Tomcat6下,以下用$TOMCAT表示这个目录。

第二步,启动和停止

     $TOMCAT/bin下面是Tomcat用到的脚本程序,扩展名为.bat是用于windows平台的批处理文件,扩展名为.sh的是用于linux或 Unix平台的脚本。我们通常用到的是startup.bat、shutdown.bat脚本。我们也可以用catalina.bat start启动Tomcat,用catalina.bat stop关闭Tomcat,事实上,startup.bat正是catalina.bat start的别名,同理shutdownup.bat 是catalina.bat stop的别名。

     Catalina.bat才是操作Tomcat的核心脚本,可以通过catalina –help查看catalina可以使用的参数及其说明。启动Tomcat后,我们输入如下网址:http://localhost:8080/,如果看 到Tomcat的页面,证明安装成功,如果不成功,请检查是否设置了正确的JAVA_HOME,JDK的版本是否太低。如果还是不成功,可能是端口冲突, 下面将会介绍如何修改端口号。

TOMCAT配置

     $TOMCAT/conf下是Tomcat的配置文件,最重要的配置文件是Servler.xml。Server.xml可以重新指定,方式是catalina.bat –config,比如指定config.xml取代Servler.xml,命令如下:

     catalina.bat run –config conf/config.xml

     Server.xml中可以配置部署应用需要的所有信息,从Tomcat5开始,应用配置可以从Server.xml独立出来,这也是 Tomcat现在所推荐的配置方式,带来的一个好处,显而易见,更容易维护了。另一个好处,是在Servler.xml的修改,只能通过重启Tomcat 才能发生作用,分拆后,修改完成,可以不用重启Tomcat就发生作用。本文就采用这种配置方式。下面进行详细的介绍。

     (1) 端口的修改

     Server元素下可以有多个Service,端口就是在Service元素下配置的。Connector元素的配置如下:

Xml代码 复制代码
  1. <</span>Connnector port=”8080” protocal=”HTTP/1.1” connectionTimeout=”20000” redirectPort=”8443”/>  
  1. <</span>Connnector port=”8080” protocal=”HTTP/1.1” connectionTimeout=”20000” redirectPort=”8443”/>  



     其中protocal制定了该端口侦听的协议类型,HTTP/1.1表示侦听的是客户的HTTP请求,即我们通过浏览器访问需要输入的端口,当端口号是 80的时候,可以不用在浏览器地址栏输入端口号,这就是我们访问很多网站不需要指定端口的原因。有时候protocal没有指定,这时候默认的是 HTTP/1.1。注意这个端口必须是闲置的。

     Service下面可以配置多个端口,用于侦听不同的协议。

     (2) 虚拟主机

     Service元素下必须有一个Engine元素,Engine有一个名称,和一个默认的虚拟主机名,形式如下:

Xml代码 复制代码
  1. <</span>Engine name="Catalina" defaultHost="localhost">  
  1. <</span>Engine name="Catalina" defaultHost="localhost">  


     虚拟主机就配置在Engine元素下。形式如下:

Xml代码 复制代码
  1. <</span>Host name="localhost"  appBase="webapps"  
  2.   
  3.             unpackWARs="true" autoDeploy="true"  
  4.   
  5.             xmlValidation="false" xmlNamespaceAware="false">  
  6.   
  7.  </</span>Host>  
  1. <</span>Host name="localhost"  appBase="webapps"  
  2.   
  3.             unpackWARs="true" autoDeploy="true"  
  4.   
  5.             xmlValidation="false" xmlNamespaceAware="false">  
  6.   
  7.  </</span>Host>  



     name是虚拟主机的名字,appBase是虚拟主机指向的目录,Tomcat启动时,会自动加载appBase下的应用。 unpackWARs表示是否自动解压缩appBase下已打成WAR包的应用,autoDeploy表示在服务器运行的时候,将一个应用放入 appBase下,是否自动部署。

Tomcat应用部署

     应用可以配置在Server.xml中,这里介绍分拆后的配法。

     应用的独立配置文件应该配置在路径$TOMCAT/conf/engineName/hostName/下,其中engineName是应用所在的 Engine的名字,对于本例而言是Catalina,hostName是应用所在的虚拟主机的名字,本例为localhost。配置文件的名字是这样约 定的:如果访问路径就在虚拟主机下,那么名字为ROOT,如:ROOT.xml,其他情况下,文件名就是访问路径,不过需要用#替换路径中的/。本例中访 问路径为/struts,相应的文件名是struts.xml,内容如下:

Xml代码 复制代码
  1. <</span>Context docBase="C:/WAP/struts" reloadable="true"/>  
  1. <</span>Context docBase="C:/WAP/struts" reloadable="true"/>  


     其中docBase指定应用所在的目录,如果是相对目录,对应的就是虚拟主机下appBase的目录,也可以是绝对目录,这个时候应用在什么地方都可以。 reloadable表示是否支持热部署,比如class更新,如果reloadable为true,应用会重新部署。注意:在分拆后, Context的path属性将不再起作用,这是Tomcat6和之前的版本不同的地方。

     以上配置完成,我们就可以访问应用了,访问地址是http://localhost:8080/struts

     下面介绍资源的配置

    这里指的主要是数据源的配置。Tomcat6使用的是DBCP数据源,它的配置方式如下:

Xml代码 复制代码
  1. <</span>Resource name="jdbc/test" auth="Application" type="javax.sql.DataSource" maxActive="100"  
  2.   
  3. maxIdle="30" maxWait="10000" username="sa" password="123456" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"  
  4.   
  5. url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"/>  
  1. <</span>Resource name="jdbc/test" auth="Application" type="javax.sql.DataSource" maxActive="100"  
  2.   
  3. maxIdle="30" maxWait="10000" username="sa" password="123456" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"  
  4.   
  5. url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"/>  


     它可以直接配置在Context元素下,这时数据源就只有他所属的应用能够访问。如果需要所有的应用能够访问,可以配置在$TOMCAT/conf/context.xml中,直接配置下根元素下即可。这个文件在启动tomcat的时候,所有的应用都会加载。

     如果需要节省资源,共享同一个数据源,可以配置在Server.xml的GlobalNamingResources节点下,在应用中可以通过别名访问,提供别名的方式是在应用所在的元素下添加如下的子元素,例:

Xml代码 复制代码
  1. <</span>ResouceLink name=”jdbc/test2” global=”jdbc/test” type=”javax.sql.DataSource”/>  
  1. <</span>ResouceLink name=”jdbc/test2” global=”jdbc/test” type=”javax.sql.DataSource”/>  


     name就是别名,global是在GlobalNamingResources所定义的资源。

原文:http://blog.csdn.net/xyls12345/article/details/5898205

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值