Servlet3.0新特性@WebServlet

http://my.oschina.net/u/2416019/blog/633804
使用@WebServlet就不需要web.xml配置了。当标注与web.xml同时配置时,标注无效。 使用配置描述符(命名:web.xml)的好处是:如果需要修改配置值,如:Servlet路径,就不需要重新编译Servlet类。

1.
web.xml配置如下:
<servlet>
        <servlet-name>ServletTest</servlet-name>
    <servlet-class>servlet.ServletTest</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ServletTest</servlet-name>
    <url-pattern>/servlet/myTest</url-pattern>
</servlet-mapping>

通过标注可以同样实现,如下:
@WebServlet(name="ServletTest",urlPatterns={"/myTest"})

由于是在对应的类中配置的信息,因而则可以不用在标注中配置class了。



2.
另一个问题,在web.xml中一个servlet可以配置多个servlet-mapping,只要在其中指定相同的servlet-name即可。而在标注中使用value只能指定一个。其实,标注也可以指定多个的,但不再用value,而是用urlPatterns数组。如下配置
@WebServlet(name="HelloWorld",urlPatterns={"/HelloWroldServlet","/HelloWorld"})
。如此,通过

http://localhost:8080/servlet/HelloWroldServlet

http://localhost:8080/servlet/HelloWorld

两个都可以进入同一个servlet。

当标注与web.xml同时配置时,标注无效。

你可能感兴趣的:(Servlet3.0新特性@WebServlet)