- 浏览: 17098 次
- 性别:
- 来自: 北京
文章分类
最新评论
Spring工作流程描述
1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;
2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;
3. DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法)
4. 提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:
HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息
数据转换:对请求消息进行数据转换。如String转换成Integer、Double等
数据根式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等
数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中
5. Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;
6. 根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet ;
7. ViewResolver 结合Model和View,来渲染视图
8. 将渲染结果返回给客户端。
Spring工作流程描述
为什么Spring只使用一个Servlet(DispatcherServlet)来处理所有请求?
详细见J2EE设计模式-前端控制模式
Spring为什么要结合使用HandlerMapping以及HandlerAdapter来处理Handler?
符合面向对象中的单一职责原则,代码架构清晰,便于维护,最重要的是代码可复用性高。如HandlerAdapter可能会被用于处理多种Handler。
1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;
2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;
3. DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法)
4. 提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:
HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息
数据转换:对请求消息进行数据转换。如String转换成Integer、Double等
数据根式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等
数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中
5. Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;
6. 根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet ;
7. ViewResolver 结合Model和View,来渲染视图
8. 将渲染结果返回给客户端。
Spring工作流程描述
为什么Spring只使用一个Servlet(DispatcherServlet)来处理所有请求?
详细见J2EE设计模式-前端控制模式
Spring为什么要结合使用HandlerMapping以及HandlerAdapter来处理Handler?
符合面向对象中的单一职责原则,代码架构清晰,便于维护,最重要的是代码可复用性高。如HandlerAdapter可能会被用于处理多种Handler。
发表评论
-
SpringMVC+ajaxFileUpload上传图片 IE浏览器弹下载框问题解决方案
2017-05-08 08:42 314SpringMVC+ajaxFileUpload上传图片 IE ... -
简单webservice(cxf)实例
2017-04-11 08:56 389我们的环境是eclipse , maven。 在开发java ... -
网站架构之架构演化
2017-03-30 13:50 350http://www.cnblogs.com/pflee/p/ ... -
线程,
2017-03-10 09:07 345http://www.cnblogs.com/wxd0108/ ... -
springmvc<一>一种资源返回多种形式【ContentNegotiatingViewResolver】
2017-03-01 09:53 434springmvc<一>一种资源返回多种形式【Co ... -
<context-param>与<init-param>的区别与作用(转载)
2017-02-28 13:45 396<context-param>的作用: web.x ... -
sqlserver日期格式化函数
2016-09-21 10:16 466Sql Server 中一个非常强大的日期格式化函数 ... -
玩转cookie(转载度娘http://jingyan.baidu.com/article/7c6fb4281f4e5580642c90d0.html)
2015-11-09 10:53 742怎么在java中增加一个cookie; 怎么在java中修改 ... -
jquery插件开发(http://www.poluoluo.com/jzxy/201204/163035.html)
2015-01-25 21:40 531一.介绍 插件编写的目 ... -
hibernate各种查询汇总(转载)
2014-12-23 15:16 3681. 查询整个映射对象所有字段 Java代码 // ... -
hibernate各种查询汇总(转载)
2014-12-23 15:16 01. 查询整个映射对象所有字段 Java代码 // ... -
JAVA多线程实现和应用总结(转载自http://www.cnblogs.com/yezhenhan/archive/2012/01/09/2317636.)
2014-12-22 15:27 515JAVA多线程实现和应用总 ... -
ResultSet rs 之 rs.next()(转载自百度一哥们)
2014-12-16 15:10 844ResultSet rs是结果集。查询出的记录是一个列表,初始 ... -
ResultSet rs 之 rs.next()
2014-12-16 15:10 843ResultSet rs是结果集。查询出的记录是一个列表,初始 ... -
java substring
2014-12-15 17:12 529java substring 方法 str=str.subst ... -
PLSQL插入数据中文乱码的问题(转)
2014-11-26 16:33 3940PLSQL插入数据中文乱码的问题 www.111cn.net ... -
遍历Map的四种方法 (转载)
2014-11-25 10:21 409public static void main(String[ ... -
sql执行顺序
2014-10-08 09:57 336SQL Select语句完整的执行顺序:1、from子句组装来 ... -
jms简明学习教程(转载)
2014-09-04 15:55 446基础篇 JMS是应用系统或组件之间相互通信的应用程序接口,利 ... -
MYSQL数据库事务处理和锁机制(转载)
2014-09-03 14:37 801一、数据库事务的百科 数据库事务(Database Tran ...
相关推荐
标题中的“博客https://blog.csdn.net/weixin_49457347/article/details/1236所需文件”表明这是一个与特定博客文章相关的压缩包,但没有提供足够的信息来直接解释博客的内容。从描述中也无法获取更多细节,它只是...
+viewpager+listview(adapterview)recyclerview scrollview webviewblog//blog.csdn.net/w7822938/article/details/47173047/demo-apk,可30452;
使用java语言,快速入门酷Q机器人编写。,快速入门,快速入门。 运行步骤: 1.必须依赖环境酷Q,然后安装插件CQP_HTTP ,启动运行即可 2.运行Java代码类:Mydemo1 3.QQ发送消息给登录酷Q的号 4.效果图如博客所示
https://blog.csdn.net/a6661314/article/details/124358796的实验文件
接前两篇文章,[小学生python游戏编程3----拼图游戏-准备](https://blog.csdn.net/fqfq123456/article/details/127173684),[小学生python游戏编程4----拼图游戏今天]...,上次写到可以打乱图片,拼成游戏界面,今天...
PASICALvoc标注好的ip102数据集,9997张原始图片 数据集标签和图片可查看https://backend.blog.csdn.net/article/details/144620956
yolov7标注好的ip102数据集,9997张原始图片 数据集标签和图片可查看https://backend.blog.csdn.net/article/details/144620956
yolov5标注好的ip102数据集,9997张原始图片 数据集标签和图片可查看https://backend.blog.csdn.net/article/details/144620956
yolov8标注好的ip102数据集,9997张原始图片 数据集标签和图片可查看https://backend.blog.csdn.net/article/details/144620956
COCO JSON标注好的ip102数据集,9997张原始图片 数据集标签和图片可查看https://backend.blog.csdn.net/article/details/144620956
Predict if the car purchased at the Auction is a good bad buy The dependent variable IsBadBuy is binary C2 There are 32 Independent variables C3 C34
简单的学生信息管理系统,实现对用户类型的不同权限管理(增删改查). 文章介绍:https://blog.csdn.net/qq_56886142/article/details/122740969?spm=1001.2014.3001.5501
详情看我的我的文章https://blog.csdn.net/wsxybz/article/details/128486717
资源分类:Python库 所属语言:Python 资源全名:pyopereto-1.0.110.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:ldproto-0.1.10.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
此更新包仅限于升级已有的程序至最新版(如从V1.0版、V1.1版、V1.2版、V2.0版、V2.1版、V2.5版、V3.0版以及V3.2标准版升级到V3.2增强版),如果您之前...程序链接:http://blog.csdn.net/vbcom/article/details/7245186
http://blog.csdn.net/zhangerqing/article/details/8239539 https://my.oschina.net/viakiba/blog/795797
资源包含文件:课程论文word+源码 本次课程设计是构造一个高级语言的子集的编译器,目标代码可以是汇编语言也可以是其他形式的机器语言。详细介绍参考:https://biyezuopin.blog.csdn.net/article/details/126084323
程序员表白程序,开放源码,不断更新(第三篇:第二弹),这是loveyue系列的源码,详情请参照博客:http://blog.csdn.net/wuxia2001/article/details/45743641
顺序表:https://blog.csdn.net/HAIIAKU/article/details/119302855 单链表:https://blog.csdn.net/HAIIAKU/article/details/119303873 顺序栈:https://blog.csdn.net/HAIIAKU/article/details/119304169 冒泡排序...