日期:2014-05-16  浏览次数:20702 次

Apache Tomcat 6.0.20 的Jsp环境配置
原文链接:http://www.coreservlets.com/Apache-Tomcat-Tutorial/detailed-configuration.html#Servlet-Reloading

配置Tomcat包含4个主要步骤和3个可选步骤
下面给出了每个步骤的细节,如果Tomcat正在运行,在操作下面步骤之后,请重启Tomcat.

1.下载Tomcat.
在http://tomcat.apache.org/download-60.cgi
请指明一个顶层目录(如:C:\),下载当前Tomcat 6的最新发布版本zip格式压缩文件,然后解压该zip压缩文件至某一子目录(如:C:\apache-tomcat)。
从这里开始,install_dir意指该子目录(C:\apache-tomcat)
对于Windows系统,你还可以使用exe安装包。

2.设置JAVA_HOME环境变量.
这里你必须设置JAVA_HOME环境变量告诉Tomcat在哪儿能找到Java。
如果设置失败,可能就不能编译Jsp文件。该变量指JDK的安装目录,而不是其bin子目录。
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_14

3.修改端口8080为80.
修改install_dir/conf/server.xml中的相关HTTP的节点
<Connector port="8080" protocol="HTTP/1.1" />
的8080为80,当然也可以为其他的端口号!

4.设置Tomcat,当servlets有修改时,重新载入内存.
install_dir/conf/context.xml中的Context节点添加两个属性(如下):
<Context reloadable="true" privileged="true">
privileged表示可以支持servlets调用容器,

5.启用invoker servlet.
servlets调用容器允许你在没有修改web应用程序部署的情况下运行servlets。
而且,你只需要将你的servlet放到WEB-INF/classes,然后当你启动你的web应用程序时,可以访问URL
(http://host/servlet/ServletNamehttp://host/webAppName/servlet/ServletName)

install_dir/conf/web.xml文件中,取消下面所示的的servlet和servlet-mapping元素的注释

<servlet>
        <servlet-name>invoker</servlet-name>
        <servlet-class>
                org.apache.catalina.servlets.InvokerServlet
        </servlet-class>
        ...
</servlet>
...
<servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

注意:
在Tomcat 6中, 当前这步还需在install_dir/conf/context.xml中保证privileged="true"。
对于Tomcat 5.5则不需要


6.打开目录显示列表功能(可选).
在Tomcat以前的版本中, 如果你输入一个以"/"结尾的URL,并且相应的目录中没有对应的文件
(或者没有匹配的servlet-mapping), Tomcat会显示一个目录列表

编辑 install_dir/conf/web.xml 文件,像下面修改默认servlet的listings的参数值

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
                <param-name>debug</param-name>
                <param-value>0</param-value>
        </init-param>
        <init-param>
                <param-name>listings</param-name>
                <param-value>
true</param-value><!-- 这里改为true -->
        </init-param>
      &nb