Spring 整合 MVC

  • MVC 框架整合思想
    • 为什么要整合 MVC 框架
    • 搭建 Web 运行环境
  • Spring 整合 MVC 框架的核心思路
    • 1. 准备工厂
    • 2. 代码整合
  • Spring 整合 Struts2

更多内容请查看笔记目录:【Spring 5.x】学习笔记汇总

MVC 框架整合思想

为什么要整合 MVC 框架

  1. MVC 框架提供了控制器(Controller)调用 Servlet
    DAO —> Service
  2. 请求响应的处理
  3. 接收请求参数 request.getParameter("")
  4. 控制程序的运行流程
  5. 视图解析(JSP、JSON、Freemarker、Thymeleaf)

Spring 可以整合哪些 MVC 框架?

  1. struts1
  2. webwork
  3. jsf
  4. struts2
  5. 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 对象创建的同时创建工厂。
    ServletContextListenerServletContext 对象创建的同时,被调用(只会被调用一次),
    把创建工厂的代码写在 ServletContextListener 中,也会保证只调用一次,保证了工厂的唯一性。

Spring 封装了一个 ContextLoaderListener,主要做了两件事:

  1. 创建工厂
  2. 把工厂存在 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 框架整合思路相关推荐

  1. (十)Spring 与 MVC 框架整合

    Spring 整合 MVC 目录 MVC 框架整合思想 为什么要整合 MVC 框架 搭建 Web 运行环境 Spring 整合 MVC 框架的核心思路 1. 准备工厂 2. 代码整合 Spring 整 ...

  2. 请简述SSM框架整合思路。

    Spring MVC是Spring框架中的一个模块,所以Spring MVC与Spring之间不存在整合的问题,只要引入相应JAR包就可以直接使用.因此SSM框架的整合就只涉及到了Spring与MyB ...

  3. Spring与Struts框架整合

    Spring,负责对象对象创建 Struts,用Action处理请求 Spring与Struts框架整合,关键点:让struts框架action对象的创建,交给spring完成! 1.步骤: 引入ja ...

  4. springmvc+spring+mybatis基于soa架构进行框架整合思路分析

    springmvc也可以初始化一个容器,因此不必须在表现层整合spring. service打的是war包,其他关联的工程如interface,pojo,dao等最终的形式会被打为一个jar包,会放到 ...

  5. ssh(Struts+spring+Hibernate)三大框架整合-简述

    ssh(Struts+spring+Hibernate)三大框架配合使用来开发项目,是目前javaee最流行的开发方式,必须掌握: 注意: 为了稳健起见,每加入一个框架,我们就需要测试一下,必须通过才 ...

  6. 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓

    hibernate工作原理 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提 ...

  7. Spring系列(九)- Spring Web MVC 框架

    文章目录 MVC设计模式简介 Spring MVC 工作流程 Spring MVC接口 需求的配置 Spring MVC视图解析器 Controller 注解类型 Spring MVC的转发与重定向 ...

  8. Spring系列(七)、Spring与MyBatis框架整合

    7 搭建Spring与MyBatis的集成环境 要实现Spring与MyBatis的整合,很明显需要这两个框架各自的jar包,以及整合两个框架的中间包mybatis-spring.jar: 我们使用m ...

  9. Spring+SpringMVC+Mybatis框架整合流程

    一:基本步骤 新建Maven项目,导入相关依赖.(推荐) ----–Mybatis配置 ------ 新建entity包,并根据数据库(表)新建相关实体类. 新建dao包,并根据业务创建必要的mapp ...

最新文章

  1. 软件熵:软件开发中推倒重来的过程就是软件熵不断增加的过程
  2. 自定义配置节与配置节的读取
  3. 金融行业如何用大数据构建精准用户画像?
  4. 如何在 Mac 上的“音乐”应用和 iTunes 中创建 Genius 播放列表?
  5. 苹果手机怎么打印wps文档_苹果手机WPS怎么打印?
  6. Java8新特性详解
  7. ffmpeg 命令转为 avi,mp4,h264, yuv
  8. 日更第17天:Linux常用命令之ps用法
  9. ARM裸机--看门狗定时器
  10. 微软宣布446亿美元收购雅虎
  11. 禁止 Windows 10 和 Windows Server 自动更新
  12. oracle函数按周,关于oracle按日周月分组统计以及next_day()函数详解
  13. linux防火墙 3306端口,Linux配置防火墙 开启80端口、3306端口的方法
  14. CSP-J/S2022游寂寞记
  15. Guava中EventBus并发处理事件
  16. 【linux】循序渐进学运维-基础篇-文件的软硬链接
  17. 论信息系统人力资源管理
  18. 使用谷歌浏览器控制台提示[DOM] Password field is not contained in a form:
  19. LeetCode存在重复 的五种解法
  20. 10家不同商店50种不同商品销售量预测数据

热门文章

  1. 决定创业失败的除了团队外
  2. 新买的手机一直没有更新系统,是不是新买的手机原装系统最好用啊?
  3. STL应用--SORT自定义排序
  4. SQL Server – QP的另一个X射线
  5. SQL Server中的功能和存储过程比较
  6. sql初学者指南_使用tSQLt框架SQL单元测试面向初学者
  7. azure云数据库_Microsoft Azure SQL数据库-分步创建教程
  8. 使用SQL Server数据库指标预测应用程序问题
  9. preparedStatement和Statement 有什么不一样
  10. 理解Android安全机制