Spring 与 MVC 框架整合思路
Spring 整合 MVC
- MVC 框架整合思想
- 为什么要整合 MVC 框架
- 搭建 Web 运行环境
- Spring 整合 MVC 框架的核心思路
- 1. 准备工厂
- 2. 代码整合
- Spring 整合 Struts2
更多内容请查看笔记目录:【Spring 5.x】学习笔记汇总
MVC 框架整合思想
为什么要整合 MVC 框架
- MVC 框架提供了控制器(Controller)调用 Servlet
DAO —> Service - 请求响应的处理
- 接收请求参数
request.getParameter("")
- 控制程序的运行流程
- 视图解析(JSP、JSON、Freemarker、Thymeleaf)
Spring 可以整合哪些 MVC 框架?
- struts1
- webwork
- jsf
- struts2
- springMVC
搭建 Web 运行环境
<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.1.14.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.1.14.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.1.14.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.6.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.1.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.1.14.RELEASE</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>1.8.8</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.3</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.4</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.12</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.43</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.1</version><scope>provided</scope></dependency></dependencies>
Spring 整合 MVC 框架的核心思路
1. 准备工厂
Web 开发过程中如何创建工厂?
ApplicationContext ctx = new WebXmlApplicationContext("/applicationContext.xml");
如何保证工厂唯一,同时被共用?
- 共用:工厂存储在
ServletContext
这个作用域中,ServletContext.setAttribute("xxx", ctx);
- 唯一:在
ServletContext
对象创建的同时创建工厂。
ServletContextListener
在ServletContext
对象创建的同时,被调用(只会被调用一次),
把创建工厂的代码写在ServletContextListener
中,也会保证只调用一次,保证了工厂的唯一性。
Spring 封装了一个 ContextLoaderListener
,主要做了两件事:
- 创建工厂
- 把工厂存在
ServletContext
中
ContextLoaderListener
使用方式:web.xml 中
<listener><listener-class> org.springframework.web.context.ContextLoaderListener </listen-class>
</listener><context-param><param-name> contextConfigLocation </param-name><param-value> classpath:applicationContext.xml </param-value>
</context-param>
2. 代码整合
Spring 整合 Struts2
这个选学。。。因为现在 Struts2 用的不多了。。暂时不学了
Spring 与 MVC 框架整合思路相关推荐
- (十)Spring 与 MVC 框架整合
Spring 整合 MVC 目录 MVC 框架整合思想 为什么要整合 MVC 框架 搭建 Web 运行环境 Spring 整合 MVC 框架的核心思路 1. 准备工厂 2. 代码整合 Spring 整 ...
- 请简述SSM框架整合思路。
Spring MVC是Spring框架中的一个模块,所以Spring MVC与Spring之间不存在整合的问题,只要引入相应JAR包就可以直接使用.因此SSM框架的整合就只涉及到了Spring与MyB ...
- Spring与Struts框架整合
Spring,负责对象对象创建 Struts,用Action处理请求 Spring与Struts框架整合,关键点:让struts框架action对象的创建,交给spring完成! 1.步骤: 引入ja ...
- springmvc+spring+mybatis基于soa架构进行框架整合思路分析
springmvc也可以初始化一个容器,因此不必须在表现层整合spring. service打的是war包,其他关联的工程如interface,pojo,dao等最终的形式会被打为一个jar包,会放到 ...
- ssh(Struts+spring+Hibernate)三大框架整合-简述
ssh(Struts+spring+Hibernate)三大框架配合使用来开发项目,是目前javaee最流行的开发方式,必须掌握: 注意: 为了稳健起见,每加入一个框架,我们就需要测试一下,必须通过才 ...
- 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓
hibernate工作原理 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提 ...
- Spring系列(九)- Spring Web MVC 框架
文章目录 MVC设计模式简介 Spring MVC 工作流程 Spring MVC接口 需求的配置 Spring MVC视图解析器 Controller 注解类型 Spring MVC的转发与重定向 ...
- Spring系列(七)、Spring与MyBatis框架整合
7 搭建Spring与MyBatis的集成环境 要实现Spring与MyBatis的整合,很明显需要这两个框架各自的jar包,以及整合两个框架的中间包mybatis-spring.jar: 我们使用m ...
- Spring+SpringMVC+Mybatis框架整合流程
一:基本步骤 新建Maven项目,导入相关依赖.(推荐) ----–Mybatis配置 ------ 新建entity包,并根据数据库(表)新建相关实体类. 新建dao包,并根据业务创建必要的mapp ...
最新文章
- 软件熵:软件开发中推倒重来的过程就是软件熵不断增加的过程
- 自定义配置节与配置节的读取
- 金融行业如何用大数据构建精准用户画像?
- 如何在 Mac 上的“音乐”应用和 iTunes 中创建 Genius 播放列表?
- 苹果手机怎么打印wps文档_苹果手机WPS怎么打印?
- Java8新特性详解
- ffmpeg 命令转为 avi,mp4,h264, yuv
- 日更第17天:Linux常用命令之ps用法
- ARM裸机--看门狗定时器
- 微软宣布446亿美元收购雅虎
- 禁止 Windows 10 和 Windows Server 自动更新
- oracle函数按周,关于oracle按日周月分组统计以及next_day()函数详解
- linux防火墙 3306端口,Linux配置防火墙 开启80端口、3306端口的方法
- CSP-J/S2022游寂寞记
- Guava中EventBus并发处理事件
- 【linux】循序渐进学运维-基础篇-文件的软硬链接
- 论信息系统人力资源管理
- 使用谷歌浏览器控制台提示[DOM] Password field is not contained in a form:
- LeetCode存在重复 的五种解法
- 10家不同商店50种不同商品销售量预测数据