如何配置spring和struts2
-
配置Spring和Struts2分为以下几个步骤:
- 导入依赖
首先,需要在项目中导入相关的依赖。在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>- 配置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组件的配置 -->- 配置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>- 配置Spring和Struts2整合
最后,需要将Spring和Struts2整合起来。在Struts2的配置文件struts.xml中,配置Spring的相关支持:
<bean type="org.springframework.web.struts.ContextLoaderPlugin" />这样就完成了Spring和Struts2的配置。在整合完成后,就可以在Spring中定义Service和DAO层的组件,并在Struts2中使用这些组件来处理请求和业务逻辑。同时,还可以使用Spring的依赖注入来实现组件之间的解耦和灵活配置。
1年前 - 导入依赖
-
配置Spring和Struts2是开发Java web应用程序时常见的任务之一。下面是一个简单的步骤指南,以帮助你配置Spring和Struts2。
-
创建一个新的Java Web项目
首先,创建一个新的Java Web项目。你可以使用你喜欢的IDE(如Eclipse或IntelliJ IDEA)或通过命令行工具(如Maven或Gradle)创建项目。确保选择正确的web应用程序类型,并将Struts2和Spring的相关库添加到项目的依赖项中。 -
配置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。你可以根据你的需要将其更改为你喜欢的文件名和位置。
- 配置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。- 编写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作为结果。
- 创建一个视图文件
最后,创建一个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年前 -
-
配置Spring和Struts2可以分为以下几个步骤:
- 导入依赖
- 配置web.xml
- 配置Spring
- 配置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年前