2015-12-17 91 views
-1

春季MVC中「dispatcherServlet」和「appServlet」之間的區別。我可以獲得任何樣品或參考嗎?春季MVC中「dispatcherServlet」和「appServlet」之間的區別MVC

+0

Spring MVC沒有定義任何名爲「appServlet」的組件,您的問題還不清楚。 – kryger

+0

在web.xml文件中,我們可以像這樣給「 appServlet org.springframework.web.servlet.DispatcherServlet」 。我想現在我的問題很清楚了? – Ashok

+0

您似乎知道「appServlet」只是您用於DispatcherServlet的名稱,所以不,不清楚您的意思。既然你對接受的答案感到滿意,那麼就足夠公平了...... – kryger

回答

1

技術上都是HttpServlet執行來處理傳入的請求。 DispatcherServlet是Spring提供的servlet實現,具有異常處理等所有基本功能。 您必須編寫您的請求映射器,它將處理所有請求。

AppServlet沒什麼不同,只是您的具體處理請求的實現。 兩者都會以相同的方式工作。如果您沒有任何特定的處理方式,則可以使用Spring DispatcherServlet。

例如..

<servlet> 
<servlet-name>DispatcherServlet</servlet-name> 
<servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
</servlet-class> 
<load-on-startup>1</load-on-startup> 

<!-- Custom Servlet --> 
<servlet> 
<servlet-name>CustomServlet</servlet-name> 
<servlet-class>org.abc.CustomServlet</servlet-class> 
<init-param> 
    <param-name>debug</param-name> 
    <param-value>false</param-value> 
</init-param> 
<init-param> 
    <param-name>any-other-Parameter</param-name> 
    <param-value>false</param-value> 
</init-param> 

<servlet-mapping> 
    <servlet-name>DispatcherServlet</servlet-name> 
    <url-pattern>*.do</url-pattern> 
    <url-pattern>/myapp/*</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>CustomServlet</servlet-name> 
    <url-pattern>/myapp2/*</url-pattern> 
</servlet-mapping> 

對於DispatcherServlet的的參考,你可以看到http://www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/

0

明白這一點,你可以有下面的配置一看:

<servlet> 
    <servlet-name>appServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/spring/servlet-context.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

在以上配置的DispatcherServlet是Spring框架提供的servlet類。

DispatcherServlet會的任務是採取傳入的URI,並找到處理程序的 正確組合(一般在控制器類的方法) 和觀點(一般的JSP),其結合形成的應該頁面或資源 在那個位置找到。

appServlet是在web.xml文件由您提供的自定義名稱。

相關問題