- 在对旧技术栈进行升级过程中,由于遗留的struts2服务升级springmvc不可控因素比较多,且工作量大(主要是struts太灵活导致了很多不规范的使用);
- 如果不进行升级的话,很多高可用和治理能力需要定制化开发,导致更多的工作量,和升级风险。
- 于是决定在不改变struts2的情况下,升级其他技术栈。
@Configuration
public class Struts2Configuration {
@Bean
public FilterRegistrationBean someFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new StrutsPrepareAndExecuteFilter());
registration.addUrlPatterns("/*");
registration.setName("StrutsPrepareAndExecuteFilter");
return registration;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.devMode" value="true"/>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/><!-- 支持动态调用 -->
<constant name="struts.objectFactory" value="spring"/>
<constant name="struts.objectFactory.spring.autoWire" value="name" />
<constant name="struts.convention.exclude.parentClassLoader" value="false" />
<constant name="struts.convention.action.fileProtocols" value="jar,code-source" />
<!-- <constant name="struts.convention.default.parent.package" value="basicStruts"/>-->
<!-- <package name="basicStruts" extends="struts-default">-->
<!-- <action name="hello" class="com.sma.sboot.demo.action.Demo2Action" method="getTest">-->
<!-- <result name="index">/index.jsp</result>-->
<!-- </action>-->
<!-- </package>-->
</struts>
- pom 引入
- 启动类
####注意:打包时打入webapp下资源文件
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>