Struts和Spring MVC的整合

本文介绍了一种将Struts应用逐步迁移到Spring MVC的方法。通过配置转发和控制器映射,可以在不完全重写业务逻辑的情况下实现迁移。此方法适用于那些希望在保留现有逻辑的同时尝试新框架的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果打算讲一个已经存在的struts应用迁移到Spring mvc,你会发现你需要将一struts的action导向到一个Spring MVC的controller,用Spring view输出struts action是非常糟糕的行为,如果你的struts应用已经实现了大量的逻辑而且用spring mvc重新实现非常困难或者会耗费大量时间,你可以考虑使用本文的方案,但你必须明白,这只能是个权宜之计 

Struts-config.xml采用如下方式配置action

 

<action path="/fwd"
             type
="com.appress.web.actions.CustomerAction"
             validate
="false"
             <forward name
="success" path="/index.mvc"/>
</action>

CustomerAction中实现转发 return mapping.findForward("success")

Spring mvc配置文件

 

<bean id="videResolver"
           class
="org.springframeworl.web.servlet.view.ResourceBundleViewResolver"?
         <property name
="basename">
             
<value>views</value>
         
</property>
</bean>

<bean id="publicUrlMapping"
           class
="org.springframeworl.web.servlet.handler.SimpleUrlHandlerMapping">
           
<property name="mappings">
              
<props>
                  
<prop key="/index.mvc">indexController</prop>
              
</props> 
          
</property>
</bean>

<bean id="indexController"
           class
="com.appress.controller.IndexController">
          
<property name="methodNameResolver">
                
<ref local="indexMethodNameResolver"/>
          
</property>
</bean>

<bean id="indexMethodNameResolver"
           class
="org,springframework.web.servlet.mvc.multiaction,PropertiesMethodNameResolver"> 
           
<property name="mappings">
               
<props>
                   
<prop key="/index.mvc">handleIndex</prop>
               
<props>
           
</property>
</bean>

 

当我们请求 /fwd.do时候,会自动转发到 /index.mvc  spring前段控制器解析这个请求,并定位到IndexController的handlerIndex方法进行执行,indexControler可以从request中获得struts action传递的数据,然后通过自身的ModelAndView进行下一步传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值