在本教程中,我们将看到用 struts 制作的 Web 应用程序迁移到 spring mvc。 Struts到Spring的迁移我们会一步步来做。在这里,我将逐步与您分享使用注解将应用程序从 Struts 迁移到 Spring 的方法。
第 1 步:将 struts 库替换为 spring 库。
首先,在从 struts 迁移到 spring 时,我们必须将 struts 相关的库替换为 lib 文件夹中的 spring 库。
为了您的澄清,我已经提到了 struts 和 spring 的基本库。
Struts 基础库:
-
struts.jar
-
struts-legacy.jar
-
ETC..
你用过吗:Java 中的 Javadoc 注释
弹簧基础库:
-
标准.jar
-
org.springframework.asm-4.0.1.RELEASE-A.jar
-
org.springframework.beans-4.0.1.RELEASE-A.jar
-
org.springframework.context-4.0.1.RELEASE-A.jar
-
org.springframework.core-4.0.1.RELEASE-A.jar
-
org.springframework.expression-4.0.1.RELEASE-A.jar
-
org.springframework.web.servlet-4.0.1.RELEASE-A.jar
-
org.springframework.web-4.0.1.RELEASE-A.jar
-
ETC..
第 2 步:将 struts 的 web.xml 文件更改为 spring 迁移
在这一步中,我们必须删除 web.xml 的 Action 过滤器调度程序并添加 Spring dipatcher servlet 作为前端控制器
致力于新技术:使用 Java 创建和管理云应用程序
在 Strut 应用程序中,web.xml 如下所示
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2MyFirstApp</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
</welcome-file-list>
</web-app>
在 Spring 应用程序中,web.xml 如下所示
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2MyFirstApp</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
</welcome-file-list>
</web-app>
第 3 步:替换 struts 的配置文件以进行 spring 迁移
现在将所有struts配置文件替换成spring配置文件如下
在 Struts 应用程序中的 struts 配置文件 -
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2MyFirstApp</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
</welcome-file-list>
</web-app>
在 Spring中应用spring配置文件 如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2MyFirstApp</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
</welcome-file-list>
</web-app>
在这里,使用了 <context:component-scan> 标签,这样 spring 将从给定的包中加载所有组件,即“com.geekonjavaonjava.spring.login.controller”。
我们可以使用不同的视图解析器,这里我使用了 InternalResourceViewResolver。其中prefix和suffix用于通过给action类中ModelAndView返回的对象添加前缀和后缀值来解析视图。
其他三个步骤见参考