`
China_qd_zjk
  • 浏览: 34610 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

SpringMVC如何处理请求

阅读更多
从web.xml中 servlet的配置开始, 根据servlet拦截的<url-parttern>,来进行请求转发
1.在客户端发起网站请求(如: localhost:8080/index)。
2.请求被服务器接收到,服务器读取web.xml 配置的<url-parttern>并缓存。
3.查看web.xml配置中是否有符合条件的 Filter过滤器,有则调用过滤器对对象进行处理。
4.处理完成后将需要处理请求的servlet指定为spring的DispatcherServlet。
5.DispatcherServlet 接收到服务器提交的请求,分为两种情况:
  1)该请求为网站的第一个请求,DispatcherServlet先调用初始化方法 initStrategies(),
  然后调用doService()方法
  2)请求不为网站的第一个请求,直接调用doService()方法
6.doService()方法调用 doDispatch()方法,doDispatch()内主要分为如下几步:
  1)先通过getHandler获得request中对应的请求handler
    mappedHandler = getHandler(processedRequest);
  2)通过获得的handler 获得对应的 HandlerAdapter
    HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());
  3) handler 中的设置的拦截器(继承自HandlerInterceptorAdapter)在此处进行调用
    if (!mappedHandler.applyPreHandle(processedRequest, response)) {
   return;
    }
  4)执行 handler方法处理请求,并返回一个  ModelAndView 对象
    mv = ha.handle(processedRequest, response, mappedHandler.getHandler());
  5)对 返回的 ModelAndView对象进行处理,返回给客户端,最后调用拦截器的afterCompletion() 方法
    processDispatchResult(processedRequest, response, mappedHandler, mv, dispatchException);
7. 客户端收到返回的响应,将需要的部分在view层进行显示。
分享到:
评论

相关推荐

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

    1. 适当的线程池大小:根据服务器硬件配置和业务特性,合理设定线程池的大小,避免过度消耗资源或处理请求不及时。 2. 请求队列设计:队列长度应足够大,以缓冲高峰期的请求,但也不能过大导致内存压力。 3. 异常...

    SpringMVC+Mybatis demo

    SpringMVC和MyBatis是Java Web开发中的两个...SpringMVC处理请求和响应,MyBatis负责数据库操作,Service层作为它们之间的桥梁,实现了业务逻辑。这样的组合提供了良好的分层结构,提高了代码的可维护性和可扩展性。

    springmvc接收ajax请求注意事项

    SpringMVC 框架在处理 Ajax 请求时需要注意一些重要的配置和设置,以确保请求的正确处理和数据的正确传输。下面我们将介绍在 SpringMVC 中接收 Ajax 请求的注意事项。 基本数据类型参数传输 在 Ajax 请求中,如果...

    图解springMVC执行流程及原理.docx

    在DispatcherServlet中,doService方法会进一步调用doDispatch方法,这是SpringMVC处理请求的核心。doDispatch方法会根据请求的URL、HTTP方法和其他信息,找到合适的HandlerMapping(处理器映射器)来解析请求,识别...

    springmvc请求处理流程.md

    springmvc请求处理流程

    springMVC.pdf

    数据类型转换是SpringMVC处理请求时的一个重要步骤,它包括如何将请求中的参数转换成控制器能够处理的Java对象。 数据格式化主要是为了解决不同数据类型的显示问题,例如日期时间的格式化。 数据校验确保了数据的...

    SpringMVC基于代码的配置方式(零配置,无web.xml)

    5. 配置Spring MVC的HandlerMapping和HandlerAdapter:这些是SpringMVC处理请求的关键组件。通过`configureHandlerMappings()`和`configureHandlerAdapters()`方法,你可以指定Controller的映射规则和适配器。 三、...

    springmvc-struts

    这些库的组合使用,可以构建一个功能强大的Java Web应用,通过SpringMVC处理请求,Struts(尤其是Struts2)提供额外的MVC功能,MyBatis作为数据访问层处理数据库操作,而JUnit则帮助进行单元测试,确保整个系统的...

    springmvc+hibernate后台管理系统

    SpringMVC处理请求,将数据传递给Hibernate进行持久化操作,再通过EasyUI展示结果,形成了一个流畅的工作流程。此外,系统还可以结合Spring Security进行权限控制,确保后台管理的安全性。 总结起来,"springmvc+...

    springMvc 处理ajax请求jar包

    配置Springmvc 处理ajax请求所需jar包 包含jackson-annotations-2.1.1.jar,jackson-core-2.1.1.jar,jackson-core-lgpl-1.2.1.jar,jackson-databind-2.1.2.jar,jackson-mapper-lgpl-1.2.1.jar,jackson-module-...

    基于SSM框架的完整项目 Spring+SpringMVC+Mybatis+mysql+bootstrap下载

    这个基于SSM框架的完整项目是一个采用Spring管理控制层,SpringMVC处理请求和视图,Mybatis作为持久层操作数据库的后台管理系统。项目还引入了前端Bootstrap框架,以实现响应式网页设计,提高用户体验。 首先,...

    SpringMVC 需要的jar

    这个jar文件包含了Spring的核心特性,如bean管理、AOP(面向切面编程)、事件传播、国际化等,这些都是SpringMVC处理请求时所依赖的基础服务。 此外,`spring-beans-x.x.x.RELEASE.jar`提供了bean定义和依赖注入的...

    SpringMVC处理multipart请求的示例代码

    SpringMVC处理multipart请求的示例代码 SpringMVC处理multipart请求是指在Web应用程序中上传文件和处理表单数据的过程。multipart请求是一种特殊的HTTP请求,它可以将一个表单拆分为多个部分,每个部分对应一个输入...

    SpringMVC+MyBatis+CXF+Velocity可运行实例

    2):采用spring3.2作为bean容器管理,springMVC处理请求转发,Velocity进行页面渲染,Mybatis作为数据持久层。CXF作为同步通信机制。 3):数据库进行加密访问。 4):注解的使用。 5):Vecity模板引擎页面渲染...

    maven 多模块 +springMVC+MyBatis简单登陆

    总结,"maven 多模块 +springMVC+MyBatis简单登陆"项目是一个典型的Java Web应用实例,它展示了如何利用Maven构建多模块项目,SpringMVC处理请求,以及MyBatis进行数据访问。这样的架构简洁而高效,适用于中小型Web...

    springmvc+mybatise代码

    SpringMVC处理请求分发和业务流程控制,MyBatis则专注于数据访问,两者协同工作,可以构建出高效、灵活且易于维护的企业级应用。在实际的项目"springmvc_mybatis1208"中,我们可以看到这些概念的具体实现,包括...

    SpringMVC接收请求参数所有方式总结

    在SpringMVC框架中,处理来自前端的各种请求参数是一项核心任务。本文将全面总结SpringMVC接收请求参数的所有方式,并探讨其背后的工作机制。 1. GET方法请求参数处理: 当使用GET方法发送请求时,参数通常附加在...

    maven+SpringMvc+Mybatis+shiro安全框架整合实例(-)

    整合这些框架,开发者可以构建出一个具备完整功能的Web应用:Maven管理依赖,SpringMVC处理请求,MyBatis执行数据库操作,而Shiro则负责安全保障。这样的组合不仅提高了开发效率,也使得系统更加模块化和易于维护。...

    springmvc-high-other-05.rar

    3. **HandlerMapping与HandlerAdapter**:这两个组件是SpringMVC处理请求的关键。HandlerMapping负责将URL映射到对应的处理器(Controller),而HandlerAdapter则负责调用处理器并返回一个ModelAndView对象,包含了...

    SpringMVC-HelloWord

    这个例子虽然简单,但它展示了SpringMVC处理请求的基本流程。随着对SpringMVC的理解加深,你可以使用它来实现更复杂的业务逻辑,如表单验证、文件上传下载、拦截器、国际化等特性。 总的来说,SpringMVC提供了一种...

Global site tag (gtag.js) - Google Analytics