ssh

(1)使用DelegatingRequestProcessor

在struts-config.xml中:

 

<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>

 完成这个配置后,struts会将拦截到的用户请求转发到Spring context下的Bean,根据Bean的name 属性来匹配。struts中的action配置无需再配置type属性

 

(2)使用ActionSupport

spring本身也提供了struts的相关类,在BaseAction中调用ActionSupport中的getWebAppicationContext()的方法取出WebAppicationContext,进而取出各种service

(3)让spring可以反向控制struts中的Action

对于Action,可以像管理Bean一样管理,在struts-config.xml中action中action配置:

 

<action attribute="aForm" name="aForm" path="/aAction" scope="request" type="org.springframework.web.struts.DelegatingActionProxy">
   <forward name="forward" path="forward.jsp">
</action>

之后需要建立action-servlet.xml

 

 

<bean name="/aAction" class="com.web.action.Aaction" singleton="false">
   <property name="businessService">
     <ref bean="businessService"/>
   </property>
</bean>

  <1>com.web.action.Aaction是Action的实现类,businessService是需要的业务逻辑

 

  <2>Spring会把businessService注入到Action 中,在Action中只需写businessService的get和set方法

  <3>singlon="false",每次新建一个实例,解决了Struts中Action的线程同步问题

流程:

   当用户做/aAction的http请求,struts会找到这个Action对应类org.springframework.web.struts.DelegatingActionProxy,这个代理类,会去找action-servlet.xml文件中“/aAction”对应的真正实现类,然后把它实例化,同时把需要的业务对象注入,然后执行Action的excute()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值