2014-07-19 95 views
0

我正在使用最近使用servlet編寫的代碼。 servlet層次結構就像這樣,有一個servlet A,它由servlet C擴展,由servlet C,D,E,F擴展。servlet擴展另一個servlet

現在,在我的web.xml我有5個網址配置這些servlet都被映射到servlet的A.所以,我的測繪看起來像

URL-/downloadservlet - 類 - servlet一個 URL-/readcontent - 類servlet A URL-/getdetails - 類servlet A .. etc等

現在,當我想要執行servlet D中的doPost方法時,我該如何實現它?因爲這個請求也可以由C或E或F服務。

該應用程序可以正常工作,但我無法理解請求是如何路由到正確的servlet的。任何解釋都非常感謝。

+0

通過URL映射,就像每個其他的Servlet一樣。在你的例子中,B,C,D,E和F未被使用。一切都映射到A. –

回答

2

Servlet本身與繼承無關。它將調用與web.xml文件的servlet標記中提供的完全相同的類,例如如果你想一類org.company.D映射到一個servlet,你需要寫這樣的事:

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

,然後映射「servletd」到一個URL,它應該監聽:

<servlet-mapping> 
    <servlet-name>servletd</servlet-name> 
    <url-pattern>/some-path</url-pattern> 
</servlet-mapping> 
相關問題