`

SpringMVC工作原理

阅读更多
参考文章http://www.roseindia.net/spring/how-spring-mvc-works.shtml

SpringMVC基于MVC设计模式。它所包含的主要的类如下:


DispatcherServlet
The DispatcherServlet is  configured in the web.xml file and required URL patterns are mapped to this Servlet. It works as the front controller and handle all the request from the user.
我们必须在web.xml文件中配置DispatcherServlet,使用相应的URL地址映射该Servlet。
该类作为前端控制器,负责处理所有用户请求。

ModelAndView
This class works as the holder for both Model and View in Spring MVC.
该类用于保存模型以及视图。


Simplified Spring MVC architecture diagram
SpringMVC构架缩略图



Let's understand the sequences of the events happens when a request is received by the Spring MVC. Following events happens when DispatcherServlet receives are request:

1.The DispatcherServlet configured in web.xml file receives the request.
在web.xml中配置的DispatcherServlet会接受所有请求。

2.The DispatcherServlet finds the appropriate Controller with the help of HandlerMapping and then invokes associated Controller.
DispatcherServlet通过HandlerMapping类的帮助,找到合适的控制器,并进行调用。

3. Then the Controller executes the logic business logic (if written by the programmer) and then returns ModeAndView object to the DispatcherServlet.
然后控制器执行业务逻辑运算,并返回一个ModelAndView对象给DispatcherServlet.


4.The DispatcherServlet determines the view from the ModelAndView object.
Then the DispatcherServlet passes the model object to the View.
DispatcherServlet通过ModelAndView对象来决定视图。 然后后将模型对象传给视图。

5. The View is rendered and the Dispatcher Servlet sends the output to the Servlet container. Finally Servlet Container sends the result back to the user.
视图被补全,DispatcherServlet将输出结果发送给Servlet容器。
最终Servlet容器将结果返回给用户。

(The View is rendered实在不知道怎么翻译,感觉意思就是创建好了视图部分的意思吧。)



Request flow in Spring MVC
请求流程


SpringMVC是请求驱动(request driven)的,通过DispatcherServlet来处理所有用户发来的请求并给Controller进行处理。
SpringMVC与Spring IOC容器紧密整合在一起,这样用户koi可以使用所有的Spring框架的功能。


下图显示了SpringMVC的请求流程:



过程如下:
1. Client access some URL on the server.

2. The Spring Front Controller(DispatcherServlet) interceptes the Request. After receiving the request it finds the appropriate Handler Mappings.
Spring前端控制器(DispatcherServlet)截取到该请求,并查询对应的处理映射(Handler Mappings)

3. The Handle Mappings maps the client request to appropriate Controller. In this process framework reads the configuration information from the configuration file or from the annotated controller list.
Handle Mappings将用户的请求映射到对应的控制器。(框架通过配置文件信息或者注释信息来完成这一过程)

4. Then the Controller processes the Client Request, it executes the logic defined in the Controller method and finally returns the ModelAndView object
back to the Front Controller.
之后控制器处理用户请求,并执行业务逻辑代码,最终将ModelAndView对象返回给前端控制器。

5. Based on the values in the ModelAndView Controller resolves the actual view, which can be JSP, Velocity, FreeMarker, Jasper or any other configured view resolver.
最终通过ModelAndView控制器中的值形成具体的视图,视图可以是JSP,FreeMarker等等一些配置了的视图解析器。

6. Then the selected view is rendered and output is generated in the form of HttpServletResponse. Finally Controller sends the response to the Servlet container, which sends the output to the user.
视图被做好了, 而输出也被存放入HttpServletResponse。
最终控制器将response返回给Servlet容器,Servlet容器再返回给用户。

  • 大小: 42.3 KB
  • 大小: 127.6 KB
分享到:
评论

相关推荐

    springmvc工作原理

    SpringMVC 工作原理 SpringMVC 是一种基于 Java 的 Web 应用程序框架,它提供了一种 Model-View-Controller(MVC)架构的实现方式。SpringMVC 的工作原理可以分为以下几个步骤: 1. 用户发送请求:用户通过浏览器...

    mybatis.hibernate,springmvc工作原理以及流程总结文档.pdf

    mybatis.hibernate,springmvc工作原理以及流程总结文档

    SpringMVC工作原理11

    SpringMVC的工作原理是基于一系列组件的协作,这些组件包括DispatcherServlet、HandlerMapping、Controller、ModelAndView和ViewResolver。 首先,客户端发起HTTP请求,这个请求会到达DispatcherServlet,这是...

    SpringMVC工作原理1

    在SpringMVC的工作流程中,各个组件协同工作,使得Web应用程序能够高效地处理用户请求并呈现响应结果。 1. 用户发送请求至前端控制器DispatcherServlet。这是SpringMVC流程的起点,用户发起HTTP请求到达服务器,...

    SpringMVC工作原理.docx

    其工作原理如下: 1. **用户请求**:当用户通过浏览器或其他HTTP客户端发送请求到服务器时,请求首先到达前端控制器`DispatcherServlet`。 2. **DispatcherServlet**:前端控制器是SpringMVC的核心组件,它接收...

    SpringMVC工作原理实例详解

    SpringMVC 工作原理实例详解 SpringMVC 是 Spring Framework 中的一部分,当我们需要使用 Spring 框架创建 web 应用程序时,就需要引入 SpringWebMVC。SpringMVC 工作原理实例详解中,通过示例代码介绍了非常详细,...

    SpringMVC工作原理及介绍

    SpringMVC是一个开源的Java框架,它是Spring项目的一部分,用于简化Web应用程序的开发。SpringMVC通过采用MVC(Model-View-Controller)设计模式,将Web层进行分层管理,以此来达到前后端代码分离的目的。在...

    手写简易版SpringMVC,探索SpringMVC原理

    这是一项很好的练习,能够加深对SpringMVC工作原理的认识,并提高我们的编程能力。 在实际开发中,SpringMVC提供了许多开箱即用的功能,如注解驱动的控制器、数据绑定、类型转换、本地化和主题支持等。这些功能极大...

    SpringMVC框架原理.mp4

    SpringMVC框架原理.mp4

    SpringMVC+MyBatis源码

    刚想搭建一个新的网站,然后就搭建了一个SpringMVC+MyBatis的框架 IDE:MyEclipse 2015 JDK:1.8 Jar包里面都有了,可以直接跑通,自己也做一个记录,下次就可以直接用了。

    springmvc学习第一天

    入门程序是理解SpringMVC工作原理的重要途径,主要目的是熟悉SpringMVC的基本流程及其各个组件的作用。 - **非注解的处理器映射器和处理器适配器**:这是SpringMVC早期版本中使用的方法,主要用于没有使用注解的...

    SpringMVC入门案例源码

    SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的...同时,通过查看项目结构和配置文件,可以加深对SpringMVC工作原理的理解。对于Eclipse和MyEclipse的用户来说,导入源码后可以直接运行,方便调试和学习。

    SpringMVC框架原理、

    SpringMVC框架原理图

    springmvc完整案例

    总的来说,这个案例为初学者提供了一个了解SpringMVC工作原理的起点。通过这个案例,你可以学习到如何配置SpringMVC,编写控制器,以及如何将数据和视图结合在一起,从而创建一个基本的Web应用。进一步学习和实践,...

    Mybatis-SpringMVC在线考试系统源码

    SpringMVC工作原理** SpringMVC通过DispatcherServlet接收HTTP请求,然后根据请求信息(如URL、参数)找到对应的Handler(控制器)。控制器执行业务逻辑后,可能会返回一个ModelAndView对象,包含了视图名和模型...

    SpringMVC面试专题及答案.pdf

    SpringMVC 工作原理: 1. **接收请求**:客户端发送请求到 DispatcherServlet(前端控制器)。 2. **处理请求**:DispatcherServlet 查询 HandlerMapping(处理器映射器),找到处理请求的 Controller。 3. **执行...

    java springMvc经典面试题

    本资源总结了 Java SpringMvc 经典面试题,涵盖了 SpringMvc 的工作原理、为什么要用 Spring、SSH 整合、Spring 的事务管理等知识点。 一、SpringMvc 工作原理 SpringMvc 的工作原理可以分为六个步骤: 1. ...

    《基于注解的SpringMVC增删改DEMO源码》Maven版

    该项目提供了完整的源代码,使得学习者能够通过实际操作来加深对SpringMVC工作原理的理解。 在SpringMVC中,注解是实现控制器、请求映射、模型绑定、视图解析等关键功能的主要手段。例如,`@Controller`注解标记一...

Global site tag (gtag.js) - Google Analytics