首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

Apache Tomcat 6.0.20 的Jsp环境配备

2012-10-24 
Apache Tomcat 6.0.20 的Jsp环境配置原文链接:http://www.coreservlets.com/Apache-Tomcat-Tutorial/detai

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/ServletName 或 http://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>
        <load-on-startup>1</load-on-startup>
</servlet>

7.使用window的exe安装包
安装成功后,设置步骤类似unzip方式。

--题外话---------------------------
1.如果要自定义一个web应用程序的部署目录,请修改install_dir/conf/server.xml(默认安装时的配置只有1个name为Catalina的Engine节点)
在host节点中
<Context path="/testjsp" docBase="J:\Tomcat 6.0\webapps\testjsp" reloadable="true"/>
定义后,则可以通过http://localhost:port/testjsp访问该目录

2.对于servlet的编译问题,请注意你的classpath问题,请一定要包含J:\Tomcat 6.0\lib\servlet-api.jar

3.对于WEB-INF/classes这个目录,其实就处于顶包位置。

4.调用servlet,有2种方法:
一是通过上面的方法开启servlet调用器,然后用url
(http://host/servlet/ServletName or http://host/webAppName/servlet/ServletName)
的形式访问该servlet

二是通过在每个web应用程序中的WEB-INFO中的web.xml文件中设置servlet的对应关系
如appweb网站的web.xml(下面servlet2.3和2.4都兼容下面的格式)

注意修改该文件后,请reload该web应用程序,否则修改后看不出效果!


(注意:必须将所有的servlet元素放置在servlet-mapping元素之前,它们不能混合)

则通过http://localhost:port/appweb/hello,会自动调用hellojava这个servlet


5.Jsp的开发IDE的选择:
sun的netbean以及eciplse+插件,
不过还是推荐sun的netbean,eciplse+插件需要和版本相关,而且插件更新还不是很及时和版本对应上。





热点排行