Struts2【整合Spring】
时间:2022-05-04
本文章向大家介绍Struts2【整合Spring】,主要内容包括前言、搭建环境、写配置文件、web.xml文件、编写Spring配置文件、编写Struts2配置文件、最后、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
前言
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源码】
这里写图片描述
写配置文件
- 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>
这里写图片描述
编写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>
这里写图片描述
这里写图片描述
编写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>
这里写图片描述
最后
这里写图片描述
这里写图片描述
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 以 B 站为例,聊聊站内消息系统的设计
- 微信小程序开发实战(22):上传文件和下载文件
- 语法糖--JAVA成长之路
- 使用 GitHub Action来托管AutoML软件
- Python爬虫实现自动登录、签到功能 附代码
- Recon-ng被动信息收集框架入门
- 猿实战03——猿首战之手把手教你撸品牌
- 用树莓派DIY波士顿机器狗,帮你省下50万:教程开源,人人皆可上手
- OpenCV绘制箭头线段---函数arrowedLine()使用(C++ Python)
- PyTorch中基于TPU的FastAI多类图像分类
- 【Rust日报】 2020-08-20 Chrome 的 Rust 与 C++ 的互操作性
- 聊聊claudb的DatabaseCleaner
- nc很强大,容易让人蹲号子
- Rust FFI 编程 - Rust导出共享库05
- 详解ENet | CPU可以实时的道路分割网络