servlet扩展另一个servlet

时间:2014-07-19 03:38:53

标签: java servlets

我最近的代码是用servlet编写的。 servlet层次结构是这样的,有一个servlet A,由servlet B扩展,由servlet C,D,E,F扩展。

现在在我的web.xml中,我为这些servlet配置了5个url,所有这些都被映射到servlet A.所以我的映射看起来像

URL- / downloadservlet - Class - Servlet A. URL- / readcontent - 类servlet A. URL- / getdetails - 类servlet A ..等等

现在,当我想在servlet D中执行doPost方法时,我该如何实现它?因为这个请求也可以由C或E或F提供。

应用程序正常工作,但我无法理解请求如何路由到正确的servlet。对此的任何解释都非常感谢。

1 个答案:

答案 0 :(得分:2)

Servlet本身与继承无关。它将调用与web.xml文件的servlet标记中提供的完全相同的类,例如如果要将类org.company.D映射到servlet,则需要编写如下内容:

<servlet>
    <servlet-name>servletd</servlet-name>
    <servlet-class>org.company.D</servlet-class>
</servlet>

然后映射&#39; servletd&#39;到它应该听的URL:

<servlet-mapping>
    <servlet-name>servletd</servlet-name>
    <url-pattern>/some-path</url-pattern>
</servlet-mapping>