如何配置spring和struts2

fiy 其他 80

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    配置Spring和Struts2分为以下几个步骤:

    1. 导入依赖
      首先,需要在项目中导入相关的依赖。在pom.xml文件中添加Spring和Struts2的依赖:
    <!-- Spring -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.3.9</version>
    </dependency>
    
    <!-- Struts2 -->
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.5.26</version>
    </dependency>
    
    1. 配置Spring容器
      接下来,需要配置Spring容器来管理Spring相关的组件。创建一个Spring的配置文件,如applicationContext.xml,并在其中配置相关的Bean:
    <!-- 配置扫描包 -->
    <context:component-scan base-package="com.example" />
    
    <!-- 配置注解驱动 -->
    <mvc:annotation-driven />
    
    <!-- 配置数据源 -->
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
        <!-- 数据库连接信息 -->
    </bean>
    
    <!-- 其他Spring组件的配置 -->
    
    1. 配置Struts2
      然后,需要配置Struts2框架来处理请求。在web.xml文件中添加Struts2的过滤器和监听器:
    <!-- 配置Struts2过滤器 -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <!-- 配置Struts2监听器 -->
    <listener>
        <listener-class>org.apache.struts2.dispatcher.ng.listener.StrutsListener</listener-class>
    </listener>
    
    1. 配置Spring和Struts2整合
      最后,需要将Spring和Struts2整合起来。在Struts2的配置文件struts.xml中,配置Spring的相关支持:
    <bean type="org.springframework.web.struts.ContextLoaderPlugin" />
    

    这样就完成了Spring和Struts2的配置。在整合完成后,就可以在Spring中定义Service和DAO层的组件,并在Struts2中使用这些组件来处理请求和业务逻辑。同时,还可以使用Spring的依赖注入来实现组件之间的解耦和灵活配置。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    配置Spring和Struts2是开发Java web应用程序时常见的任务之一。下面是一个简单的步骤指南,以帮助你配置Spring和Struts2。

    1. 创建一个新的Java Web项目
      首先,创建一个新的Java Web项目。你可以使用你喜欢的IDE(如Eclipse或IntelliJ IDEA)或通过命令行工具(如Maven或Gradle)创建项目。确保选择正确的web应用程序类型,并将Struts2和Spring的相关库添加到项目的依赖项中。

    2. 配置web.xml
      在web.xml文件中添加配置,以启用Struts2的过滤器和Spring的上下文加载Listener。在servlet标签中添加一个DispatcherServlet,用于加载Spring的上下文文件。在filter标签中添加一个StrutsPrepareAndExecuteFilter过滤器,以确保Struts2的相关请求都经过这个过滤器。

    示例配置如下:

    <web-app>
      ...
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      
      <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>/WEB-INF/applicationContext.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
      
      <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
      
      <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
      </filter>
      
      <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    </web-app>
    

    在上面的配置中,我们指定了Spring上下文文件的位置为/WEB-INF/applicationContext.xml。你可以根据你的需要将其更改为你喜欢的文件名和位置。

    1. 配置Spring上下文文件
      在Spring的上下文文件中,我们可以定义和配置所有的bean。你可以使用XML配置文件或注解的方式来定义bean。在这个文件中,你可以定义Struts2的action bean,以及其他业务逻辑和数据访问层的bean。

    示例配置如下:

    <beans>
      <!-- Struts2 action bean -->
      <bean id="helloAction" class="com.example.HelloAction" />
      
      <!-- 其他业务逻辑和数据访问层的bean -->
    </beans>
    

    在上面的配置中,我们定义了一个名为helloAction的Struts2 action bean,并指定了其对应的类为com.example.HelloAction

    1. 编写Struts2的Action类
      为了简单起见,我们编写一个简单的HelloAction类,它将用于处理来自客户端的请求并返回响应。

    示例代码如下:

    package com.example;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class HelloAction extends ActionSupport {
      private String message;
      
      public String execute() throws Exception {
        setMessage("Hello, World!");
        return SUCCESS;
      }
      
      public String getMessage() {
        return message;
      }
      
      public void setMessage(String message) {
        this.message = message;
      }
    }
    

    上面的代码继承自ActionSupport类,这是Struts2框架提供的一个方便的基类,其中包含了一些有用的方法。在execute方法中,我们设置了一个简单的消息,并返回SUCCESS作为结果。

    1. 创建一个视图文件
      最后,创建一个JSP文件作为视图,用于显示来自Action类的消息。

    示例代码如下:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
      <title>Spring and Struts2</title>
    </head>
    <body>
      <h1>${message}</h1>
    </body>
    </html>
    

    在上面的代码中,我们使用了EL表达式${message}来显示Action类返回的消息。

    以上是配置Spring和Struts2的基本步骤。你可以根据你的特定需求对其进行扩展和定制。希望这个指南对你有所帮助!

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

    配置Spring和Struts2可以分为以下几个步骤:

    1. 导入依赖
    2. 配置web.xml
    3. 配置Spring
    4. 配置Struts2

    下面我将详细介绍每个步骤的具体操作流程。

    1. 导入依赖

    在项目的pom.xml文件中添加Spring和Struts2的依赖:

    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.2.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.2.1.RELEASE</version>
        </dependency>
    
        <!-- Struts2 -->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.5.20</version>
        </dependency>
    </dependencies>
    

    然后执行Maven的构建命令,从中央仓库下载依赖。

    2. 配置web.xml

    在web.xml文件中配置DispatcherServlet和Struts2的过滤器。

    DispatcherServlet配置:

    <servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    

    Struts2过滤器配置:

    <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>
    

    3. 配置Spring

    创建一个名为spring-context.xml的Spring配置文件,配置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
            https://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            https://www.springframework.org/schema/context/spring-context.xsd">
    
        <!-- 扫描包路径 -->
        <context:component-scan base-package="com.example.controller" />
    
        <!-- 配置视图解析器 -->
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/views/" />
            <property name="suffix" value=".jsp" />
        </bean>
    
    </beans>
    

    在上面的配置文件中,我们使用了context:component-scan元素来自动扫描指定包中的类,并将其注册为Spring容器中的Bean对象。

    4. 配置Struts2

    创建一个名为struts.xml的Struts2配置文件,配置Struts2的Action和Result等。

    <!DOCTYPE struts PUBLIC 
      "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
      "http://struts.apache.org/dtds/struts-2.5.dtd">
    
    <struts>
        <!-- 配置package -->
        <package name="default" extends="struts-default">
    
            <!-- 配置action -->
            <action name="hello" class="com.example.controller.HelloAction">
                <result name="success">/WEB-INF/views/hello.jsp</result>
            </action>
    
        </package>
    </struts>
    

    在上面的配置文件中,我们首先定义了一个名为default的package,继承自struts-default。然后在package中定义了一个名为hello的action,它的class属性指向了一个名为HelloAction的类,最后定义了一个名为success的result,它的value属性指向了一个名为hello.jsp的JSP文件。

    这样就完成了Spring和Struts2的配置。当请求到达DispatcherServlet时,它会根据配置的url-pattern来进行匹配,然后将请求转发给对应的Action执行。Action执行完毕后,根据配置的result将结果返回给前端页面。

    注意:在配置Struts2时,还需要确保项目中存在名为struts-plugin.xml的Struts2插件配置文件。如果没有该文件,需要手动创建并配置。

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

400-800-1024

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

分享本页
返回顶部