原文链接:[url=http://www.coreservlets.com/Apache-Tomcat-Tutorial/detailed-configuration.html#Servlet-Reloading]http://www.coreservlets.com/Apache-Tomcat-Tutorial/detailed-configuration.html#Servlet-Reloading[/url]
配置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子目录。
[color=green]JAVA_HOME=C:\Program Files\Java\jdk1.6.0_14[/color]
3.修改端口8080为80.
修改[color=red]install_dir/conf/server.xml[/color]中的相关HTTP的节点
[color=green]<Connector port="8080" protocol="HTTP/1.1" />[/color]
的8080为80,当然也可以为其他的端口号!
4.设置Tomcat,当servlets有修改时,重新载入内存.
给[color=red]install_dir/conf/context.xml[/color]中的Context节点添加两个属性(如下):
[color=green]<Context reloadable="true" privileged="true">[/color]
privileged表示可以支持servlets调用容器,
5.启用invoker servlet.
servlets调用容器允许你在没有修改web应用程序部署的情况下运行servlets。
而且,你只需要将你的servlet放到WEB-INF/classes,然后当你启动你的web应用程序时,可以访问URL
([color=green]http://host/servlet/ServletName[/color] 或 [color=green]http://host/webAppName/servlet/ServletName[/color])
在[color=red]install_dir/conf/web.xml[/color]文件中,取消下面所示的的servlet和servlet-mapping元素的注释
[color=green]
<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>
[/color]
注意:[color=indigo]
在Tomcat 6中, 当前这步还需在install_dir/conf/context.xml中保证privileged="true"。
对于Tomcat 5.5则不需要[/color]
6.打开目录显示列表功能(可选).
在Tomcat以前的版本中, 如果你输入一个以"/"结尾的URL,并且相应的目录中没有对应的文件
(或者没有匹配的servlet-mapping), Tomcat会显示一个目录列表
编辑 [color=red]install_dir/conf/web.xml [/color]文件,像下面修改默认servlet的listings的参数值
[color=green]
<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>[/color][color=blue][b]true[/b][/color][color=green]</param-value><!-- 这里改为true -->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
[/color]
7.使用window的exe安装包
安装成功后,设置步骤类似unzip方式。
--题外话---------------------------------------------------------------
[color=brown]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都兼容下面的格式)
[/color]
[color=brown]注意修改该文件后,请reload该web应用程序,否则修改后看不出效果![/color]
([color=red]注意:必须将所有的servlet元素放置在servlet-mapping元素之前,它们不能混合[/color])
[color=brown]
则通过http://localhost:port/appweb/hello,会自动调用hellojava这个servlet
[/color]
[color=brown]
5.Jsp的开发IDE的选择:
sun的netbean以及eciplse+插件,
不过还是推荐sun的netbean,eciplse+插件需要和版本相关,而且插件更新还不是很及时和版本对应上。
[/color]
配置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子目录。
[color=green]JAVA_HOME=C:\Program Files\Java\jdk1.6.0_14[/color]
3.修改端口8080为80.
修改[color=red]install_dir/conf/server.xml[/color]中的相关HTTP的节点
[color=green]<Connector port="8080" protocol="HTTP/1.1" />[/color]
的8080为80,当然也可以为其他的端口号!
4.设置Tomcat,当servlets有修改时,重新载入内存.
给[color=red]install_dir/conf/context.xml[/color]中的Context节点添加两个属性(如下):
[color=green]<Context reloadable="true" privileged="true">[/color]
privileged表示可以支持servlets调用容器,
5.启用invoker servlet.
servlets调用容器允许你在没有修改web应用程序部署的情况下运行servlets。
而且,你只需要将你的servlet放到WEB-INF/classes,然后当你启动你的web应用程序时,可以访问URL
([color=green]http://host/servlet/ServletName[/color] 或 [color=green]http://host/webAppName/servlet/ServletName[/color])
在[color=red]install_dir/conf/web.xml[/color]文件中,取消下面所示的的servlet和servlet-mapping元素的注释
[color=green]
<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>
[/color]
注意:[color=indigo]
在Tomcat 6中, 当前这步还需在install_dir/conf/context.xml中保证privileged="true"。
对于Tomcat 5.5则不需要[/color]
6.打开目录显示列表功能(可选).
在Tomcat以前的版本中, 如果你输入一个以"/"结尾的URL,并且相应的目录中没有对应的文件
(或者没有匹配的servlet-mapping), Tomcat会显示一个目录列表
编辑 [color=red]install_dir/conf/web.xml [/color]文件,像下面修改默认servlet的listings的参数值
[color=green]
<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>[/color][color=blue][b]true[/b][/color][color=green]</param-value><!-- 这里改为true -->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
[/color]
7.使用window的exe安装包
安装成功后,设置步骤类似unzip方式。
--题外话---------------------------------------------------------------
[color=brown]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都兼容下面的格式)
[/color]
[color=brown]注意修改该文件后,请reload该web应用程序,否则修改后看不出效果![/color]
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//en"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<!--下面是将一个servlet名对应到一个java类(即servlet)-->
<servlet>
<servlet-name>forTest
</servlet-name>
<servlet-class>hellojava
</servlet-class>
</servlet>
<!--下面是将一个servlet名和一个url格式进行对应,如果匹配上,则调用该servlet-->
<servlet-mapping>
<servlet-name>forTest
</servlet-name>
<url-pattern>/hello
</url-pattern>
</servlet-mapping>
</web-app>
([color=red]注意:必须将所有的servlet元素放置在servlet-mapping元素之前,它们不能混合[/color])
[color=brown]
则通过http://localhost:port/appweb/hello,会自动调用hellojava这个servlet
[/color]
[color=brown]
5.Jsp的开发IDE的选择:
sun的netbean以及eciplse+插件,
不过还是推荐sun的netbean,eciplse+插件需要和版本相关,而且插件更新还不是很及时和版本对应上。
[/color]