2015-05-02 154 views
1

Servlet容器是否創建ServletRequest &響應對象或Http?如果是ServletRequest,在調用服務方法之前將其轉換爲HttpServletRequest?Servlet容器創建Servlet請求/響應對象或HttpServlet請求/響應對象?

我讀過的文章中有50%與ServletRequest一起使用;另外50%使用HttpServletRequest。

感謝

+2

當然,容器創建HttpServletRequest和響應實例。還有什麼可以的?你意識到HttpServletRequest擴展了ServletRequest,對吧? –

+0

是的,我知道什麼擴展了什麼。我感到困惑,因爲Manning出版物的SCWCD書說它是Servlet請求/響應對象。另外,一些在線文章也是如此。 – Aceghn

+2

如果你知道HttpServletRequest擴展了ServletRequest,那麼你知道一個HttpServletRequest **是一個** ServletRequest。如果您對書中特定的句子感到困惑,並希望得到我們的建議,您應該引用問題中的句子,並告訴我們什麼讓您感到困惑。 –

回答

0

HttpServlet接收HttpServletRequest/Response.

其他一些假想的一種的servlet,hereuntofore從未見過圈養,可能會收到一些其他類型。

0

基本上ServletRequest和ServletResponse對象將被容器創建,然後這些對象將被傳遞給public void service(ServletRequest req,ServletResponse res)方法。這個方法將把這些對象改爲HTTP類型,它們只是HTTPServletRequest和HTTPServletResponse對象。然後將這些對象傳遞給protected void service(HTTPServletRequest req,HTTPServletResponse res)方法。這個方法會將請求轉移到doGet()或doPost()方法。所有這些都是HTTPServlet類的方法。