Struts2【整合Spring】

简介: Struts2【整合Spring】

前言


Spring的第二和第三篇已经讲解了Spring的基本要点了【也就是Core模块】…本博文主要讲解Spring怎么与Struts2框架整合

Struts2和Spring的整合关键点

  • action对象交给Spring来创建


搭建环境


进入jar包


引入jar文件:


  • 1)引入struts .jar相关文件
  • 2)spring-core  相关jar文件
  • 3)spring-web 支持jar包
  • spring-web-3.2.5.RELEASE.jar          【Spring源码】
  • struts2-spring-plugin-2.3.4.1.jar      【Struts源码】

微信图片_20220221155325.jpg

这里写图片描述

写配置文件


  • struts.xml        【struts路径与action映射配置】
  • bean.xml            【spring ioc容器配置】
  • web.xml
  • 【核心过滤器: 引入struts功能】
  • 【初始化spring的ioc容器】查看Spring的API

web.xml文件


web.xml文件


除了要配置Struts2的分配器,还要加载Spring的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <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>
    <!-- 2. spring 配置 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/classes/bean*</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>

微信图片_20220221155329.jpg这里写图片描述

编写Spring配置文件


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

微信图片_20220221155334.jpg这里写图片描述微信图片_20220221155336.jpg这里写图片描述




编写Struts2配置文件


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <package name="aaa" extends="struts-default">
        <action name="bbb" class="userAction">
            <result name="success" >/2.jsp</result>
        </action>
    </package>
</struts>

微信图片_20220221155339.jpg这里写图片描述


最后


微信图片_20220221155341.jpg这里写图片描述微信图片_20220221155344.jpg这里写图片描述

目录
相关文章
|
27天前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
29 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
11天前
|
Java Spring Maven
Struts 2遇见Spring:这个组合如何颠覆你的Web开发?
【8月更文挑战第31天】在现代Web开发中,Struts 2与Spring的结合使用能显著增强应用的模块化和可维护性。本文将介绍如何整合这两个框架,并提供代码示例。首先,在`pom.xml`中添加Struts 2和Spring的依赖,然后在`struts.xml`中配置Struts 2以识别Spring插件。接着,在Spring配置文件中定义bean,并在Struts 2的Action类中使用`@Autowired`注解进行自动注入。
23 0
|
11天前
|
Java 开发者 前端开发
Struts 2、Spring MVC、Play Framework 上演巅峰之战,Web 开发的未来何去何从?
【8月更文挑战第31天】在Web应用开发中,Struts 2框架因强大功能和灵活配置备受青睐,但开发者常遇配置错误、类型转换失败、标签属性设置不当及异常处理等问题。本文通过实例解析常见难题与解决方案,如配置文件中遗漏`result`元素致页面跳转失败、日期格式不匹配需自定义转换器、`&lt;s:checkbox&gt;`标签缺少`label`属性致显示不全及Action中未捕获异常影响用户体验等,助您有效应对挑战。
25 0
|
3月前
|
XML Java Apache
必知的技术知识:HHS整合(Struts2+Spring+Hibernate)
必知的技术知识:HHS整合(Struts2+Spring+Hibernate)
27 0
|
XML 前端开发 Java
Spring与Struts2的整合案例及XML配置的具体使用(四)
Spring与Struts2的整合案例及XML配置的具体使用(四)
357 0
Spring与Struts2的整合案例及XML配置的具体使用(四)
|
开发框架 Java 数据库连接
Struts2+Spring+Hibernate整合步骤
Struts2+Spring+Hibernate是J2EE的最新流行框架。本篇是我搭建这个框架的经验总结。 本方案采用自底向上:Hibernate——>Spring——>Struts2的方式进行整合。具体步骤如下: 1.通过MyEclipse向导,导入实现Hibernate3.2功能:生成会话工厂和hibernate.cfg.xml文件。然后在src中添加log4j.properties文件。 2.通过MyEclipse向导,导入实现Spring2.5功能,生成applicationContext.xml文件。然后将Spring2.0 AOP Liberaries里的asm2.2.3.jar包
158 0
|
前端开发 Java 数据库连接
Spring、Struts2优点分析以及Spring MVC、Struts2优点比较
  Spring 及其优点   大部分项目都少不了Spring的身影,为什么大家对他如此青睐,而且对他的追捧丝毫没有减退之势呢Spring是什么:Spring是一个轻量级的DI和AOP容器框架。说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是,Spring是非侵入式的,基于spring开发的应用一般不依赖于spring的类。DI:称作依赖注入(Dependency Injection),和控制反转一个概念,具体的讲,当一个角色需要另外一个角色协助的时候,在传统的程序设计中,通常有调用者来创建被调用者的实例。但是在spring中创建被调用者将不再有调用者完
161 0
|
Java 数据库连接 Spring
struts2+hibernate+spring 分页
1、DAO层接口的设计,在MemberDao接口中定义了如下两个方法: public interface MemberDao{          //省略了其他的代码         /**      * 分页查询  ...
683 0
|
Java 关系型数据库 Spring
struts2+hibernate+spring分页实现(DAO,Service,Action三层架构搭配)
Java代码         import java.util.List;       public interface Pagination {     ...
974 0
|
21天前
|
缓存 Java Maven
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决