Servlet转发控制器(ServletForwardingController)

JAVA herman 89浏览 0评论

Spring MVC 中有很多控制器,本章将重点讲解ServletForwardingController控制器。

Spring MVC 中的控制器

从上图中可以看出,Spring MVC 中有14个控制器。

Servlet转发控制器(ServletForwardingController)

Servlet包装控制器将所有的HTTP请求转发给一个在web.xml中定义的Servlet。Web容器会对这个定义在web.xml的标准Servlet进行初始化和析构。

ServletForwardingController将接收到的请求转发到一个命名的servlet,具体示例如下:

package com.xttblog.web.servlet;  
public class ForwardingServlet extends HttpServlet {      
    @Override  
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)  
		throws ServletException, IOException {  
        resp.getWriter().write("Controller forward to Servlet");  
    }  
} 
<servlet>  
    <servlet-name>forwarding</servlet-name>  
    <servlet-class>com.xttblog.web.servlet.ForwardingServlet</servlet-class>  
</servlet> 
<!— 在chapter4-servlet.xml配置处理器 -->     
<bean name="/forwardToServlet"   
	class="org.springframework.web.servlet.mvc.ServletForwardingController">  
        <property name="servletName" value="forwarding"></property>  
</bean>

当我们请求/forwardToServlet时,会被转发到名字为“forwarding”的servlet处理,该sevlet的servlet-mapping标签配置是可选的。

Servlet封装对象

管理范围

初始化和析构

服务调用方式

SimpleServletHandlerAdaptor

Web应用程序环境

没有

直接

ServletWrappingController

控制器内部

直接

ServletForwardingController

web.xml

Servlet派遣器