注:学习此篇教程之前请确定完成Servlet开发环境的配置。

一、文件组织

首先看一下之前在Eclipse中新建的Dynamic Web Project目录结构:


重要的目录说明:
WEB-INF:此目录中存在的资源项目不会被列入应用程序根目录直接访问的项。
WEB-INF/web.xml:部署描述文件(需要手工创建)。
WEB-INF/classes:放置自定义的类(.class),必须包括包结构。
WEB-INF/lib:放置应用程序用到的JAR文件。

二、部署
1)使用@@WebServlet
在Servlet3.0中,可以使用标注(Annotation)来告知容器哪些Servlet会提供服务以及额外信息。
例如
@WebServlet("/Hello.view")
public class HelloServlet extends HttpServlet
只要在Servlet上设置@WebServlet,容器就会自动读取当中的信息。上面的例子告诉容器,如果请求的URL是
"/hello.view",则由HelloServlet的实例来提供服务。


2)使用web.xml
使用web.xml是更加通用的部署方法,会比较麻烦一些。
web.xml中的设置会覆盖Servlet中的标注设置。
还是基于之前的例子,我们用web.xml来部署一下。


在WEB-INF中新建web.xml,敲入下面的代码:
   HelloServlet HelloServlet 1   HelloServlet /Hello  


解释一下几个重要的标签:
元素定义了一个servlet实例。元素必须包含了两个子元素,也可能包括其他初始化参数。

 元素定义了servlet实例唯一的名字。每一个servlet实例必须有唯一的名字,这个名字仅用来配合对此实例的URL映射,所以不一定要和servlet类或servlet的URL一致。

 元素告诉servlet容器如何构建一个servlet类的实例。元素包含两部分,包含servlet的package名和servlet类的类名。

用于定义映射。

1表示在应用启动的时候就将Servlet类载入。

设置完成之后,我们就只能通过“http://localhost:8080/ServletTest1/Hello”来访问Servlet而不是之前的Hello.view,因为@WebServlet被覆盖掉了。