如何使用注释从一个类定义声明多个servlet

时间:2014-12-01 03:07:43

标签: java java-ee servlets

使用web.xml我可以基于一个Java类声明多个servlet,如下所示:

<servlet>
    <servlet-name>servlet1<servlet-name>
    <servlet-class>com.xx.servClass<servlet-class>
</servlet>

<servlet>
    <servlet-name>servlet2<servlet-name>
    <servlet-class>com.xx.servClass<servlet-class>
</servlet>

然后我可以使用这两个servlet提供两个url,这样他们就可以根据自己的身份执行某些任务,例如this.getServletName()。如何使用注释实现相同的功能?感谢。

1 个答案:

答案 0 :(得分:2)

我不认为可以在同一个类上放置2个@WebServlet注释,但是您可以通过将servlet映射到2个不同的URL来实现目标:

@WebServlet(name=”Servlet1”, urlPatterns={"/url1", "/url2"})
public class ServClass extends HttpServlet {

然后,您可以通过检查请求对象来确定使用了哪个URL。

供参考,请参阅the servlet 3.0 spec