org.springframework.web.servlet.mvc.ServletWrappingController

public class ServletWrappingController extends AbstractControllerimplements BeanNameAware, InitializingBean, DisposableBeanSpring控制器实现,它包装了一个servlet实例,它在内部管理。这种包装的servlet是不知道外面的这个控制器,它的整个生命周期是在这里介绍的对比 (以ServletForwardingController )。

ServletWrappingController则是将当前应用中的某个 Servlet直接包装为一个Controller,所有到ServletWrappingController的请求实际上是由它内部所包装的这个 Servlet来处理的。

通过Spring调用常用的调度现有基础设施的servlet,例如,申请spring HandlerInterceptors其请求。

请注意,Struts有一个特殊的要求,因为它解析web.xml 找到自己的servlet映射。因此,你需要指定的DispatcherServlet作为 “servletName”在这个控制器servlet的名字,认为这样的Struts的DispatcherServlet的映射 (思维,它指的是ActionServlet的)。

这里声明了一个Controller,ServletWrappingController是为了Struts专门设计的,作用相当于代理Struts的ActionServlet

例如:一个DispatcherServlet的XML上下文,转发“ .做”到Struts的ActionServlet ServletWrappingController一个包裹 。所有这些请求将通过所配置的HandlerInterceptor链(例如一的OpenSessionInViewInterceptor )。从Struts的角度来看,一切都将照常上班。


<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

<property name="interceptors">

<list>

<ref bean="openSessionInViewInterceptor"/>

</list>

</property>

<property name="mappings">

<props>

<prop key="
.do">strutsWrappingController</prop>

</props>

</property>

</bean>



<bean id="strutsWrappingController" class="org.springframework.web.servlet.mvc.ServletWrappingController">

<property name="servletClass">

<value>org.apache.struts.action.ActionServlet</value>

</property>

<property name="servletName">

<value>action</value>

</property>

<property name="initParameters">

<props>

<prop key="config">/WEB-INF/struts-config.xml</prop>

</props>

</property>

</bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值