详解JSP 中Spring工作原理及其作用
1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。
  2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.
  3.DispatcherServlet请请求提交到目标Controller
  4.Controller进行业务逻辑处理后,会返回一个ModelAndView
  5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
  6.视图对象负责渲染返回给客户端。
为什么要使用Spring:
  AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP后,公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。
  IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的,IOC 就像反过来的JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straightconstruction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。
  Spring即使一个AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了Spring,只要用JavaBean属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。
  Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean 的方式,如图 1 所示。
  组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:
  核心容器:核心容器提供 Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
  Spring 上下文:Spring 上下文是一个配置文件,向 Spring框架提供上下文信息。Spring上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
  Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。
  Spring DAO:JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。SpringDAO的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
  Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM的对象关系工具,其中包括JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和DAO异常层次结构。
  Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
  Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText 和 POI。
  spring 框架的功能可以用在任何 J2EE服务器中,大多数功能也适用于不受管理的环境。Spring的核心要点是:支持不绑定到特定 J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web或EJB)、独立应用程序、测试环境之间重用。

详解JSP 中Spring工作原理及其作用相关推荐

  1. 16g电脑内存有什么好处_买2条8G的内存也不买1条16G?详解电脑内存双通道工作原理与作用...

    有小伙伴可能会好奇购买电脑内存条的时候,为什么要买2条8G的组成16G的内存而不是直接买1条16G的内存呢?下面这篇文章就为你解答. 开头我先给出结论,2条内存组成的双通道比1条内存速度要快. 在说内 ...

  2. 详解变频器、逆变器工作原理

    我现在知道直流怎么变为交流,通过PWM波,我感觉无人机的电调就是个逆变器,就是把直流变为交流,莫非就是飞控输出PWM,电调就是专为交流电?不讲道理是PWM遇到电机线圈就自动变为交流电了么. 摘自:ht ...

  3. Spring工作原理及其作用

    1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作. 2.DispatcherServlet查询一个或多个Hand ...

  4. delimiter mysql_详解 Mysql中的delimiter定义及作用

    初学mysql时,可能不太明白delimiter的真正用途,delimiter在mysql很多地方出现,比如存储过程.触发器.函数等. 学过oracle的人,再来学mysql就会感到很奇怪,百思不得其 ...

  5. 详解HashMap的内部工作原理

    本文将用一个简单的例子来解释下HashMap内部的工作原理.首先我们从一个例子开始,而不仅仅是从理论上,这样,有助于更好地理解,然后,我们来看下get和put到底是怎样工作的. 我们来看个非常简单的例 ...

  6. 计算机 晶振参数,晶振的ppm参数详解:晶振工作原理、ppm误差公式、主要参数...

    你知道什么是晶振吗? 你知道晶振ppm代表什么意思吗? 你知道晶振的主要参数以及工作原理吗? 一.什么是晶振ppm 晶振全称是晶体振荡器,是指从一块石英晶体上按一定方位角切下薄片(简称为晶片),石英晶 ...

  7. 双光耦开关电源电路图_详解开关电源光耦的工作原理及典型接法

    在一般的隔离 1.常见的几种连接方式及其工作原理 常用于反馈的光耦型号有TLP521.PC817等.这里以TLP521为例,介绍这类光耦的特性. TLP521的原边相当于一个发光二极管,原边电流If越 ...

  8. vue指令写在html中的原理,详解Vue中的MVVM原理和实现方法

    对Vue中的MVVM原理解析和实现首先你对Vue需要有一定的了解,知道MVVM.这样才能更有助于你顺利的完成下面原理的阅读学习和编写下面由我阿巴阿巴的详细走一遍Vue中MVVM原理的实现,这篇文章大家 ...

  9. 【STM32】详解超声波测距模块工作原理

    一.产品介绍 超声波测距模块可提供2cm-400cm的非接触距离感测功能,测距精度3mm,模块包括超声波发射器,接收器与控制电路. 二.基本工作原理 (1)采用IO口trig出发测距,给Echo最少1 ...

最新文章

  1. [Angularjs]视图和路由(三)
  2. BackgroundWorker
  3. InstallSheild 获取系统环境变量,如Desktop路径等
  4. Android PopupWindow系列 (一) —— popupWindow基本使用方略
  5. Xcode7 无账号真机测试!!
  6. MACOS上install_name_tool有时无法改变rpath
  7. php的敏感词过滤类库,敏感词过滤的php类库
  8. word替换妙用:批量去除多余空格、空行、换行2020-11-30
  9. 开题报告、论文摘要、摘要翻译、论文结论怎么写?
  10. jsp中空格字符怎么写_jsp多个空格符号怎么打
  11. 水处理设备网关,生活污水处理设备网关。
  12. 查询结果按照字母顺序排序
  13. 1.2 网络爬虫分类
  14. 服务器被DDoS攻击,怎么破?
  15. 竖版视频怎么批量转换成横版视频
  16. mysql 日程设计_客服-电销日程表 - 数据库设计 - 数据库表结构 - 果创云
  17. 使用SIMD指令加速计算
  18. Java操作word模板文件
  19. python利用server酱推送IP地址
  20. 前端HTML、CSS学习完整笔记(中上篇)

热门文章

  1. linux ifort编译命令,[Linux] icc与ifort编译器
  2. 地址转换成百度经纬度,数据太多!不愿意花钱?
  3. push(array)和push([...array])的区别和联系
  4. linux怎么进入文件的末尾,如何在Linux中附加到文件的末尾
  5. 杂记文件cs.txt
  6. C 学习笔记 —— 高级指针话题
  7. 渗透工具-Burpsuite
  8. 禅道——图文安装及使用教程
  9. shell数组目录遍寻循环输出
  10. Hello C(八)——内存字节对齐