Tomcat是apache的一个子项目也是一个开源项目主要是用于JEE web容器由于是一个开源项目在学习与开发测试中经常被用到(而目前商业最为经常用到的web服务器是BEA WebLogic)在开源项目中鼎鼎大名的apache基金会大家肯定有所了解网站链接而旗下的Jakarta Project 主要包括了TomcatAlexanda等Java项目有兴趣者可看考虑到各位学习者的机器配置与学习成本问题这里选了Tomcat作为我们学习与测试JEE的环境以下为一些基本配置
一先从网上下载tomcat
目前最新版本是下载地址是/v/bin/jakartatomcatzip下载安装完后在安装目录下有以下目录主要介绍一下confcommonwebapps
如果你现在等不急了就想体验一下tomcat的魅力的话把你的网页拷到webapps/ROOT目录下然后再通过浏览器访问即可默认如下格式//localhost:/<你的网页>
)webapps文件夹主要用于web应用程序部署比如你可以把你的应用程序包如war文件拷到该目录下容器会自动部署
)conf文件夹下主要是放置tomcat的服务器的相关配置文件
)common文件夹主要是对容器全局变量的文件放置地方如common/lib下就是放置一些需要全文配置的文件包
二jee的相关部署规范
一般来说作为一个符合规范的web程序会包括以下文件夹和文件/WEBINF/(主要是放置一些配置文件与不希望外部程序访问的隐私文件)在网络上是不允许访问该文件夹的如当你输入以//localhost:/WEBINF/的话就会出现错误
在WEBINF文件夹下有一个webxml文件这是对当前应用程序的相关设置资源寻找等/WENINF/文件夹下有个classes子文件夹该文件夹是应用程序的根路径(等于是classpath的路径)/WENINF下还要有个lib文件夹主要是放置需要引入的包应用程序导入的包先从这里开始寻找其次到容器的全局路径下$TOMCAT_HOME/common/lib下寻找
以下是基本文件夹:
/tomcat
/common
/lib
/classes
/conf
/webapps
/ROOT
webxml
/WEBINF
/lib
/classes
/你部署的程序包
webxml
/WEBINF
/lib
/classes
三容器的配置(serverxml)
到主目录/conf文件夹下serverxml文件是对web服务器的配置
以下是一些常见的设置http端口设置找到以下
<Connectorport= maxThreads= minSpareThreads= maxSpareThreads=
enableLookups=false redirectPort= acceptCount=
connectionTimeout= disableUploadTimeout=true />
把端口改为你喜欢使用的端口如常见的以后你就可以利用该端口进行访问你的网站了//localhost: 期中是默认的可以不写其他的一下配置可以参观相关的内容入门就是这么简单
webxml为servlet的一些相关配置可以参照一下规范可以看我写的其他文章
继续说一下serverxml文件的设置
找到以下
<Host name=localhost appBase=webapps
unpackWARs=true autoDeploy=true
xmlValidation=false xmlNamespaceAware=false>
</Host>
在他们之间可以添加一个<Context>元素如<Context path=/axis reloadable=true docBase=axisworkDir=webapps/axis/work/>其中属性path代表是网络访问的上下文路径reloadable表示可以在运行时在classes与lib文件夹下自动加载类包docBase属性表示你的应用程序的路径在windows在如docBase=E:\Sun\axisworkDir表示是缓存文件的放置地点可以方便跨平台移植时不用重编译这样你的应用程序就可以放到硬盘上的任意地方了还有一个方法可以做到这点(推荐)编写一个xml文件然后放到tomcat目录/conf/Catalina/<相应的网站>/目录下如现在我有个应用程序ACMEWeb我编了一个文件ACMEWebxml内容如下
<Context path=/ACMEWeb reloadable=true docBase=E:\eclipseproject\ACMEWeb workDir=E:\eclipseproject\ACMEWeb\work />
我把它放到了tomcat目录/conf/Cataline/localhost下在浏览器打//localhost/ACMEWeb 就会转向我放在E:\eclipseproject\ACMEWeb下的程序了