我最近的代码是用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。对此的任何解释都非常感谢。
答案 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>