初学的时候,使用默认的Web应用和默认的Servlet URL。对于正式的应用,则应使用定制的Web应用和URL(在部署描述文件web,xml中指定)
仿照默认Web应用的目录结构,创建目录
HTML和JSP文档放在顶层目录
web.xml放在WEB-INF子目录
servlet和其他类放在WEB-INF/classes中,或者放在WEB-INF/classes目录中与包名匹配的子目录中。
注册web应用到tomcat:
将web应用的目录拖放到install_dir/webapps中,然后重启服务器。目录的名称就是Web应用的前缀。
对于没打包的servlet,调用时默认URL http://host/webAppPrefix/servlet/ServletName
可以为自己编写的servlet指定自定义的URL
使用web.xml的servlet和servlet-mapping元素给每个servlet赋予形如http://host/webAppPrefix/someName的URL
War文件
web档案文件提供一种将Web应用捆绑到单个文件中的便利方式。使用单个大文件,相比许多小文件,更易于将Web应用在服务器之间转义。
War文件实际上是以.war为扩展名的jar文件,我们使用通常的jar命令来创建它。例如,如果要将整个Web应用testApp捆绑到war文件testApp2.war中,我们只需要切换到testApp目录,并执行下面的命令:
jar cvf testApp2.war *
使用URL前缀:
使用Web应用时,所有的URL中都要用到一个特殊的前缀。大多数servlet都允许我们自由地选择前缀,但是默认情况下,目录名(或war文件的主文件名)是web应用的前缀。
为自己编写的servlet分配定制的URL:
1、文件放在WEB-INF中
2、基本格式:
开头是XML标头和声明,并且含有一个web-app元素
3、为servlet赋予名称:
使用servlet元素,servlet-name(可以任取),和servlet-class(完全限定类名)子元素
<servlet>
<servlet-name>Servlet2</servlet-name>
<servlet-class>coreservlets.HelloServlet2</servlet-class>
</servlet>
4、URL的指定
要将URL赋予已命名的servlet,需要使用servlet-mapping元素的servlet-name和url-pattern子元素
<servlet-mapping>
<servlet-name>Servlet2</servlet-name>
<url-pattern>/servlet2</url-pattern>
</servlet-mapping>
注意,必须将所有的servlet元素放置在任何servlet-mapping元素之前,它们不能互相混合。
5、部署描述文件的读取
默认情况下,服务器启动后的web.xml文件是只读的,因此除非您使用服务器专有的特征,否则每次修改完web.xml文件还是得重新启动服务器。