`

Sping mvc DispatcherServlet 处理请求的详细过程

阅读更多

1. 通过WebApplicationContext, 根据request 搜索一些属性,并绑定到request上

2. 通过 Local Resovler ,判定出本地化资源,绑定到request上

3. 通过 Theme Resovler ,判定出主题资源,绑定到request上

4. 如果指定了  multipart resovler ,multipart resolver 会判断,请求中是不是带上传文件,如果是,会把request 再包装成 MultipartHttpServletRequest 

5. 找到控制器,并执行

6. 如果有Model返回,则根据返回,找到相应的view 进行渲染。如果没有Model返回,则不渲染视图,这种情况 一般发生在请求被其它拦截器拦截了。

 

处理过程中有任何异常,将由exception resolvers来处理。

 

另外,DispatcherServlet 也会判断控制器是不是实现了LastModified,如果是的话,在返回的Header中将加上last-modification-date。利用这个特性,应该很容易做出缓存支持。

分享到:
评论

相关推荐

    Spring MVC 教程快速入门 深入分析

    三、Spring MVC核心流程图:描述了Spring MVC处理请求的流程,包括前端控制器接收请求,经过分发器分发给具体的控制器,然后由控制器处理业务逻辑,最后将结果返回给用户。 四、Spring MVC DispatcherServlet说明:...

    Spring MVC 教程 快速入门 深入分析

    十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八、spring mvc 多视图控制器 十九、 <mvc:annotation-driven /> 到底做了什么工作

    Spring MVC入门教程

    十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八、spring mvc 多视图控制器 十九、 <mvc:annotation-driven /> 到底做了什么工作 二十、...

    最全最经典spring-mvc教程

    Spring MVC还支持数据绑定,自动将请求参数绑定到Java对象,这极大地简化了表单提交的处理。对于验证,Spring MVC提供了BindingResult和Validator接口,用于校验模型数据的正确性。 另外,Spring MVC与Spring框架的...

    Spring MVC 4.2.3

    9. **异步处理支持**:Spring MVC支持异步处理请求,允许在不阻塞线程的情况下执行耗时的操作,从而提高系统性能。 10. **国际化和本地化**:通过消息源和LocaleResolver,Spring MVC可以轻松实现应用的多语言支持...

    Spring MVC学习之DispatcherServlet请求处理详析

    在Spring MVC框架中,DispatcherServlet扮演着至关重要的角色,它是整个Spring MVC的前端控制器,负责接收客户端发送的HTTP请求,并将其转发给适当的处理器进行处理。接下来我们将深入探讨DispatcherServlet的请求...

    Spring.MVC-A.Tutorial-Spring.MVC学习指南 高清可复制版PDF

    在Spring MVC中,每个请求都会经过DispatcherServlet,这是一个前端控制器,它会根据请求的URL和配置的映射规则将请求分发到合适的处理器。处理器可以是自定义的Controller类,Controller通过方法注解(如@...

    springmvc+spring线程池处理http并发请求数据同步控制问题

    1. Spring MVC通过DispatcherServlet接收HTTP请求,然后根据映射规则将请求分发给相应的Controller进行处理。默认情况下,每个请求都在单独的线程中执行,这意味着可以并行处理多个请求,提高系统响应速度。 2. 然而...

    Spring mvc 教程

    - **DispatcherServlet**:这是 Spring MVC 的前端控制器,负责接收 HTTP 请求并分发给合适的后端组件处理。 - **WebApplicationContext**:这是一个特殊的 Bean 容器,用于管理 Web 应用中的所有 Bean。 - **默认的...

    基于Spring MVC接收并处理HTTP请求

    Spring MVC是一个模型-视图-控制器(MVC)架构的实现,它通过DispatcherServlet作为前端控制器,处理所有的HTTP请求。当请求到达时,DispatcherServlet会根据请求信息(如URL、请求方法等)选择合适的...

    spring MVC .docx

    1. **DispatcherServlet**: 它是Spring MVC的入口点,负责接收HTTP请求,并根据请求信息找到合适的处理器(Handler)进行处理。DispatcherServlet通过`web.xml`配置文件或Java配置类进行初始化配置。 2. **...

    spring-MVC.zip_Java spring mvc_spring mvc_spring mvc

    在提供的"spring MVC.docx"文档中,可能详细介绍了如何配置Spring MVC环境,创建Controller,处理请求,以及如何配置视图解析器等内容。对于初学者来说,这是一份很好的实践指南,可以帮助理解Spring MVC的工作原理...

    Mastering Spring MVC 4(2015.09)源码

    拦截器(Interceptor)是Spring MVC中的一种机制,可以在请求处理前、后执行自定义逻辑。通过实现HandlerInterceptor接口或使用@Interceptor注解,开发者可以添加全局的行为,如日志记录、权限检查等。 此外,...

    精通Spring MVC4

    在Spring MVC中,DispatcherServlet作为核心组件负责请求分发,Controller处理请求并返回ModelAndView对象,ViewResolver解析模型数据并渲染视图。 2. **配置与启动** 配置Spring MVC通常涉及web.xml文件中的...

    spring mvc mybatis 整合源码,带数据库脚本,带详细注释

    - Spring MVC是基于Model-View-Controller(MVC)设计模式的Web应用框架,提供了一种组织和处理请求的机制。 - 它的核心组件包括DispatcherServlet、HandlerMapping、HandlerAdapter、ModelAndView和ViewResolver...

    Spring MVC使用Demo

    在Spring MVC中,Controller处理用户的请求,Model存储数据,而View负责渲染结果。 创建Spring MVC项目的第一步通常是设置开发环境。这通常包括安装Java Development Kit (JDK)、配置IDE(如IntelliJ IDEA或Eclipse...

    Spring MVC + Mybatis+Spring实现的个人博客系统

    通过DispatcherServlet作为前端控制器,Spring MVC能够灵活地调度请求到相应的处理器,并且支持多种视图技术如JSP、Thymeleaf等。 **2. Mybatis** Mybatis是一个轻量级的持久层框架,它简化了Java应用与数据库之间...

    Spring MVC 简单Demo

    通过这个简单的Demo,我们可以了解到Spring MVC的基本工作流程:从HTTP请求到DispatcherServlet,再到Controller处理,然后返回视图名,最后由View Resolver找到视图资源进行渲染。这个过程展示了Spring MVC如何将...

Global site tag (gtag.js) - Google Analytics