与Apache Tomcat4比较,Apache Tomcat5在其conf文件夹中增加了Catalina目录及子目录,其详细路径为:TOMCAT_HOME\conf\Catalina\localhost\,在localhost文件夹中全部是*.xml文件。
每个*.xml文件对应一个Tomcat的WEB应用的名字。
localhost文件夹中,Apache Tomcat5自动生成的有两个文件,即admin.xml和manager.xml文件。
当Apache Tomcat5启动后,就可以这样访问了:
http://127.0.0.1:8080/admin/
http://127.0.0.1:8080/manager/
其中,访问http://127.0.0.1:8080/admin/ ,通过用户名和密码的验证后,就可以进入Tomcat的WEB服务管理器(TOMCAT WEB SERVER ADMINISTRATION TOOL)了。
*2*
在Tomcat4中新增一个WEB应用项目的访问,是在TOMAT_HOME\conf\server.xml文件中增加一个<Context>描述,在server.xml中找到如下行:
<!-- Tomcat Root Context -->
<!--
<Context path="" docBase="ROOT" debug="0"/>
-->
然后在其下面加上这句:
<Context path="/mystruts" docBase="TOMCAT_HOME\webapps\ROOT\StrutsWeb" debug="0" reloadable="true"/>
保存server.xml后重新启动Apache Tomcat4,就可以通过http://127.0.0.1:8080/mystruts/ 来访问这个WEB应用了。
在Tomcat5中同样的也可以这么做。
同样的,在TOMAT_HOME\conf\server.xml文件中增加一个<Context>描述,重新启动Tomcat服务后就可以用来访问了。
需要特别指出的是,当在在Tomcat5的server.xml文件中增加一个<Context>描述后,重新启动Tomcat时,会自动在TOMCAT_HOME\conf\Catalina\localhost\路径下生成一个xml文件,这个xml文件的名称和<Context>描述中所写的WEB应用的名字是一样的。
如果server.xml文件中的这个<Context>描述有所改动的话(增加属性或修改属性),重新启动Tomcat时,这些改动变化都会及时的反映在同名的xml文件中(这样就做到了同步一致)。
例如上面在server.xml中所写的
<Context path="/mystruts" docBase="TOMCAT_HOME\webapps\ROOT\StrutsWeb" debug="0" reloadable="true"/>
当Tomcat5启动后,会在\Catalina\localhost\下生成一个名字为“mystruts.xml”的文件。
其内容和server.xml中所写的一样,为:
<Context docBase="TOMCAT_HOME/webapps/ROOT/StrutsWeb" path="/mystruts" reloadable="true">
</Context>
所以,我们可以这样说:如果要在Apache Tomcat5中新增WEB应用服务的话,就可以直接在TOMCAT_HOME\conf\Catalina\localhost\路径下编辑生成一个xml文件,在这个xml文件中写上相对应的<Context>描述即可,而不需要在server.xml中增加或编辑其他东东了。[^ō^]
*3*
另外,需要说明的是,Apache Tomcat正常安装后的启动方式有多个:
** 可以在TOMCAT_HOME\bin\中点击startup.bat来启动Tomcat服务。
** 可以在“开始”-->“程序”-->“Apache Tomcat”菜单中点击“Start Tomcat”来运行Tomcat服务。
但是,Tomcat4和Tomcat5的服务运行形式是不一样的。
Tomcat4无论从“startup.bat”点击运行还是从“Start Tomcat”点击运行,都会出现黑屏白字的命令提示符窗口(类DOS窗口),用来提示说明Tomcat服务的运行情况和一些日志信息。
Tomcat5从“startup.bat”点击运行后,出现的是黑屏白字的命令提示符窗口,而从“Start Tomcat”点击运行后,服务窗口不会出现,而只会在屏幕的右下方出现一个带绿色三角的托盘图标([:D]乍一看,这个图标和MS SQLSERVER服务管理器的图标几乎一模一样)。
*4*
使用Apache Tomcat5做服务,特别需要指出的是,如果在TOMAT_HOME\conf\server.xml文件中增加一个<Context>描述,
用“startup.bat”方式启动Tomcat服务时,在命令提示符窗口上会显示出如下信息(但是不会影响struts的使用)
------------------------------
警告: Error storing config file
java.io.FileNotFoundException: ..\..\conf\Catalina\localhost\mystruts.xml (系统找
不到指定的路径。)
------------------------------
并且\Catalina\localhost\下对应的xml文件不会得到更新。
从“Start Tomcat”点击运行Tomcat5服务是不会有这种情况的(这个可以察看Tomcat的日志文件)。
*5*
再来关注一下<Context>描述中的参数“privileged="true"”。
在路径TOMCAT_HOME\conf\Catalina\localhost\下,找到Apache Tomcat5自动生成的有两个文件,即admin.xml和manager.xml文件。
打开xml文件,能分别找到如下内容:
------------------------------
<Context path="/admin" docBase="../server/webapps/admin"
debug="0" privileged="true">
</Context>
<Context path="/manager" docBase="../server/webapps/manager"
debug="0" privileged="true">
</Context>
------------------------------
呵呵,看明白了吗?
Apache Tomcat5自动生成的xml文件中,对<Context>的描述中,都有一个参数,即privileged="true" 。