springMVC web请求处理流程
来源:互联网 发布:贪心算法 动态规划 编辑:程序博客网 时间:2024/05/22 01:47
springMVC web请求处理流程
1、spring mvc将所有的请求都提交给DispatherServlet,它会委托应用系统的其他模块负责对请求进行真正的处理工作。
2、DispatherServlet查询一个或多个HandlerMapping,找到处理请求的Controller。
3、DispatherServlet将请求提交到目标Controller。
4、Controller进行业务逻辑处理后,会返回一个ModelAndview。
5、Dispathcher查询一个或多个ViewResolver视图解析器,找到ModeAndView对象指定的视图对象。
6、视图对象负责宣染返回给客户端。
springMVC 的重要组件-------
DispatherServlet:应用了“Front Controller”模式,是所有Spring MVC请求的中枢;继承了HttpServlet,是一个Servlet,由WebApplicationContext加载;如果不做其他配置,会加载默认组件。
HandlerMapping:将web请求映射到正确的处理器(handler)上,通常是一个Controller;不需用自定义处理器映射,因为已经内置了很多处理器映射策略;在处理器映射中通过配置拦截器(包括处理器执行前、执行后、或者执行前后运行的拦截器);将使其功能更强大。
controller接口: 负责处理请求;内部参数继承HttpServlet,它内含 handleRequest(HttpServletRequest,HttpServletResponse);返回一个ModelAndView对象;所有实现都是线程安全的;基本不用自己实现接口,因为已经提供了很多实用的实现类。
ModelAndView对象:封装了用来渲染页面的model和view;Model用java.util.Map实现的;添加对象,可以不需要用名字,如addObject(Object)--用默认名添加;View用String或View对象表示;类似Structs的Action。
Interceptors: 在请求前后添加其他功能;包括拦截器方法---preHandle and postHandle;包括回调方法 --afterCompletetion;可以通过HandlerMapping和一系列Controller关联上。
viewResolver: 从一个逻辑视图名映射到一个视图对象;可以排序,所以能链在一起;FreeMarkViewResolver--针对FreeMarker templates设计的。
视图View: 支持的几种视图模板技术:JSP、JSP+JSTL、Velocity、FreeMarker、Tiles、Tiles+JSTL等。
- springMVC web请求处理流程
- SpringMVC请求处理流程
- SpringMVC 请求处理流程
- SpringMvc处理请求流程
- SpringMVC处理请求流程
- SpringMVC请求处理流程
- SpringMVC处理请求流程
- SpringMVC处理请求流程
- SpringMvc处理请求流程
- SpringMVC处理请求的流程
- SpringMVC处理请求的流程
- SpringMVC处理请求流程(转载)
- SpringMVC请求处理具体流程
- SpringMVC处理请求的流程
- SpringMVC-请求的处理流程
- SpringMVC请求大致处理流程
- springMVC处理请求的流程
- SpringMVC请求处理流程(附图)
- 辨析这几个概念:dBi,dBd,dBc,dBm,dB
- Linux内核设计与实现——7 中断与中断处理(5)——注册中断处理程序
- 高手讲解php调用url的N种方法
- ORA-01152: file 1 was not restored from a sufficiently old backup ORA-01110: data file 1: '/u01/app
- Oracle分析函数八——CUBE,ROLLUP
- springMVC web请求处理流程
- Objective-C 编程语言(6)类别与扩展----为类增加方法
- ubuntu 桌面 终端 控制台 Bash Shell 命令行编辑 快捷键
- git服务器的搭建
- 使用lucene3.6创建索引和实现简单搜索
- Flex Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed
- Java的序列化、反序列化
- oracle在scott用户创建表emp
- 编译时出现头文件找不到的情况该如何解决