注意:要转成Struts2必须对struts2的配置以及流程要了解,不了解的话我只能说还是去了解struts2后再转成struts2吧。
1、先备份一份,不要没转成功项目搞蹦了都回不来了。
2、导入Struts2核心包以及其他依赖包(最好用myeclipse的library,勾选需要的,保证包不缺少以及不产生包冲突)。
3、按照Struts2的配置方式去配置struts.xml。
4、更改web.xml配置,将struts1的servlet删掉,加上struts2的过滤器:
//声明struts2过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value>
</init-param>
</filter>
//也可这样声明
<filter>
<filter-name>Struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
//指定后缀使用struts2处理
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
5、转变action类:将action类直接或间接实现struts2的Action类,action的方法参数去掉,返回类型为String。
6、如果有需要的话编写并配置过滤器。Struts1可以指定异常处理类来处理对应的异常,Struts2可以在拦截器里执行Action时捕获并处理异常。
7、检查是否还引用了struts1的类,直至可以remove掉struts.jar。
8、重构代码到你满意为止,可以使用ognl来方便存取action的属性。