spring如何托管struts

fiy 其他 25

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    Spring可以通过整合框架来托管Struts,实现更高效的开发和管理。下面是一些步骤和示例代码,介绍如何在Spring中托管Struts。

    1. 添加相关依赖:在项目的pom.xml文件中添加以下依赖:
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>版本号</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>版本号</version>
    </dependency>
    
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts-core</artifactId>
        <version>版本号</version>
    </dependency>
    

    请根据实际情况将上述版本号替换为您项目中使用的版本号。

    1. 配置web.xml文件:在项目的web.xml文件中添加Struts的核心过滤器,并配置Spring的DispatcherServlet。示例代码如下:
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    

    上述示例中,Struts的核心过滤器被配置在/*路径下,Spring的DispatcherServlet被配置在/路径下。

    1. 配置Spring配置文件:创建一个名为spring-config.xml的Spring配置文件,并添加以下示例代码:
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://www.springframework.org/schema/mvc
                            http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    
        <mvc:annotation-driven />
    
        <!-- 配置Struts的Action类所在的包 -->
        <bean id="actionMapper" class="org.springframework.web.struts.ActionMappingHandlerMapping">
            <property name="basePackage" value="com.example.actions" />
        </bean>
    
        <!-- 配置Struts的视图解析器 -->
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/views/" />
            <property name="suffix" value=".jsp" />
        </bean>
    
    </beans>
    

    上述示例中,<mvc:annotation-driven />用于启用注解驱动的Spring MVC功能,标签用于配置Struts的Action类所在的包和视图解析器。

    1. 创建Struts Action:在指定的包(上述示例中为com.example.actions)下创建Struts的Action类。可以参考Struts的文档和示例来编写Action类。

    2. 创建JSP视图:在/WEB-INF/views/目录下创建JSP视图文件,用于展示Struts Action处理后的结果。

    以上是在Spring中托管Struts的基本步骤。通过整合Spring和Struts,可以实现更灵活,更高效的Web应用程序开发和管理。注意在实际开发过程中,可能会有更多的配置和细节需要处理,具体需要根据项目的实际需求和结构来进行调整和修改。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Spring可以很容易地托管Struts框架,这样可以将Struts与Spring集成,从而发挥两个框架的优势。下面是在Spring中托管Struts的步骤:

    1. 引入依赖:在项目的Maven或Gradle配置文件中引入Struts和Spring的依赖项。例如,在Maven项目的pom.xml文件中添加以下依赖项:
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>版本号</version>
    </dependency>
    
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts-core</artifactId>
        <version>版本号</version>
    </dependency>
    
    1. 配置Struts框架:创建Struts的配置文件struts.xml,并在其中定义Struts配置。例如,定义Action的映射关系、结果类型等。

    2. 配置Spring框架:创建Spring的配置文件,例如applicationContext.xml,并在其中配置Struts的控制器。

    <bean name="/hello" class="org.springframework.web.struts.DelegatingActionProxy">
        <property name="delegate">
            <bean class="com.example.HelloAction"/>
        </property>
    </bean>
    
    1. 配置Spring与Struts的整合:在Spring的配置文件中添加Struts的配置声明,将Struts的配置文件引入到Spring框架中。
    <bean class="org.springframework.web.struts.ContextLoaderPlugIn">
        <property name="contextKey" value=""/>
    </bean>
    
    1. 配置web.xml文件:在web.xml文件中添加Spring的监听器和Struts的过滤器。
    <!-- Spring监听器 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    <!-- Struts过滤器 -->
    <filter>
        <filter-name>struts</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    

    经过以上步骤,Spring就托管了Struts框架。在Spring的上下文中配置了Struts的控制器和Struts的配置文件,实现了对Struts的集成和管理。通过Spring的IoC容器,可以更加方便地管理和使用Struts的组件和功能。

    通过Spring托管Struts,可以享受到Spring框架的便利性,如控制反转、依赖注入等功能,同时也能够利用Struts框架的优势,如强大的表单处理能力、MVC分层架构等。这样的集成可以提高开发效率和代码的可维护性。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Spring框架是一个全功能的Java开发框架,它提供了一种将不同的组件集成在一起的方式。在Spring框架中,可以很容易地将Struts框架托管到Spring中,以便更好地管理和控制应用程序。

    下面是托管Struts框架到Spring框架中的方法和操作流程。

    1. 添加依赖
      首先,需要在项目的pom.xml文件中添加Struts和Spring的依赖。示例代码如下:
    <dependencies>
      <!-- Struts -->
      <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts-core</artifactId>
        <version>过时版本</version>
      </dependency>
    
      <!-- Spring -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>当前版本</version>
      </dependency>
    </dependencies>
    

    请确保将Struts和Spring的依赖版本适配。

    1. 创建Spring配置文件
      创建一个Spring配置文件(例如applicationContext.xml),用于配置和定义Spring框架的Bean和相关的配置。

    示例代码如下所示:

    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="
              http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans.xsd
              http://www.springframework.org/schema/context
              http://www.springframework.org/schema/context/spring-context.xsd">
    
        <!-- 指定要扫描的包 -->
        <context:component-scan base-package="your.base.package"/>
    
        <!-- 添加Struts配置 -->
        <bean id="struts-config" class="org.springframework.web.struts.ContextLoaderPlugIn">
            <property name="delegate">
                <bean class="org.apache.struts.action.ActionServlet">
                    <property name="config">
                        <bean class="org.apache.struts.config.impl.ModuleConfigImpl">
                            <property name="controllerConfig" ref="controllerConfig"/>
                            <property name="formBeansConfig" ref="formBeansConfig"/>
                            <property name="messageResourcesConfig" ref="messageResourcesConfig"/> 
                        </bean>
                    </property>
                </bean>
            </property>
        </bean>
    </beans>
    

    在上述示例中,使用<context:component-scan>标签指定要扫描的基本包路径,以查找并注册所有的Spring组件。

    <bean>标签中,创建一个Struts配置的Bean,并设置ActionServlet的配置参数。

    1. 添加Struts配置文件
      在项目的src/main/resources目录下创建一个名为struts-config.xml的Struts配置文件,用于定义和配置Struts框架的相关组件(如Action和Form)。

    示例代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
            "http://struts.apache.org/dtds/struts-config_1_3.dtd">
    <struts-config>
        <action-mappings>
            <!-- 添加和配置Action -->
        </action-mappings>
        <form-beans>
            <!-- 添加和配置Form -->
        </form-beans>
        <message-resources>
            <!-- 添加和配置国际化资源 -->
        </message-resources>
    </struts-config>
    

    在上述示例中,可以添加和配置Action、Form、以及国际化资源等组件。

    1. 注册Struts配置文件
      在web.xml文件中,添加一个ContextLoaderListener监听器,以便Spring可以加载并处理Struts组件的注入。

    示例代码如下所示:

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    

    在上述示例中,定义了一个ContextLoaderListener监听器,并在contextConfigLocation参数中指定了Spring的配置文件路径。

    再定义了一个ActionServlet,并通过init-param参数指定了Struts的配置文件路径。

    最后,在servlet-mapping中将servlet映射到相应的URL路径。

    至此,已经成功将Struts框架托管到Spring框架中。

    需要注意的是,Spring版本和Struts版本的兼容性需要进行额外的确认和调整,以确保两者可以正确地集成和协同工作。

    以上是将Struts框架托管到Spring框架的方法和操作流程,通过这种方式,可以更好地管理和控制应用程序的各个组件,提高开发和维护的效率。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部