spring MVC中“dispatcherServlet”和“appServlet”之间的区别。我可以获得任何样品或参考文献吗?
答案 0 :(得分: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/
答案 1 :(得分: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 framework提供的servlet类。
DispatcherServlet的工作是获取传入的URI并找到 正确的处理程序组合(通常是Controller类的方法) 和组合形成页面或资源的视图(通常是JSP) 那应该是在那个地方找到的。
而 appServlet 是您在web.xml文件中提供的自定义名称。