传统原生的JSP+Servlet在开发上过程上虽然简单明了,JSP页面传递数据到Servlet,Servlet整理数据(逻辑开发)或者从数据库提取数据接着再转发到JSP页面上,但是其似乎只能止步于此,我们都知道我们request和response都依赖于url,当我们想要通过针对围绕url进行编程的话单纯的JSP+Servlet在实现上只有过滤器Filter在抵达相对应的Servlet之前起作用,但是如果我们想要在Servlet转发或者重定向之后再进行一些工作呢?一个url对应一个Servlet,项目需求的url稍微复杂了一些,其相对应的Servlet的数量将十分庞大,诸多问题,在这里便不多讲了,而这些问题,基本都在SpringMVC中得以解决。
SpringMVC围绕着Servlet进行开发Web,代码的实现上同时也依赖Spring开发,所以说可以和spring无缝结合,本文着重强调的重点在于SpringMVC的工作流程:
1.从第一点开始,请求的开始当然来源的用户访问的url,之后SpringMVC的工作正式开始,就好比一个人进城,必须要先经过城门才能进去,请求也是一样,他必须先经过一个叫做Dispatcher Servlet的前端控制器,
2.之后,你总要有工作地点吧(请求需要工作),可是不认路啊(请求需要在哪里被分析),所以你需要先去找到地图,然后在地图上找到地点,在SpringMVC中,从Dispatcher Servlet开始率先找到Handler Mapper,该组件映射找到工作点的老板(HandlerAdapter)。
3.到这里我们仅仅是知道怎么找到工作点而已,而且路径是从城门(Dispatcher Servlet前端控制器)开始的,我们按照地图(HandlerMapper组件里面的信息)的指引找到了指使我们工作的HandlerAdapter。
4.老板指使我们工作,此时我们化身为员工(Handler,也就是请求所对应的事件),我们工作的内容就控制层(也就是MVC中的C)下请求url所对应的方法,工作完成之后,我们需要提交工作数据呈现给老板看(返回ModelAndView对象给HandlerAdapter)
5.之后老板把你的工作数据贴到城门上(将ModelAndView对象返回给DispatcherServlet),再经历一番修饰后呈现给来往的商人(用户)
一个从大局上观看的基本流程大概就是如此,然而SpringMVC在具体的实现上远比这复杂许多,基本上在普通项目开发下我们在配置完SpringMVC要求配置环境后,所需要开发的地方就只有视图层和控制层,控制层里面的代码一般是有逻辑层和数据层的实现。
下面是我用思维导图制作的流程,比文字看起来直观一些。
相关推荐
### SpringMVC的工作流程详解 #### 一、概述 SpringMVC是Spring框架的一个模块,主要用于简化Web应用程序的开发过程。它遵循Model-View-Controller(MVC)设计模式,帮助开发者更好地组织代码结构,提高代码的可...
该资源主要是SpringMVC工作流程,各个组件(DispatcherServlet、HandlerMapping、ViewResolver、Handler)的说明以及工作流程的文字说明等等。
SpringMVC 是 Spring 框架的一个重要模块,它提供了构建 Web 应用程序的全功能 Model-View-Controller (MVC) 模块。SpringMVC 的执行流程是理解其工作原理的关键,下面我们将详细解析这个过程。 首先,SpringMVC 的...
Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一 • Spring3.0后全面超越Struts2,成为最优秀的MVC框架 • Spring MVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现...
springmvc源码流程解析
tionContext)用于自定义上下文配置。然后,调用 wac.refresh()来初始化上下文,这个过程包括解析配置文件、创建Bean定义、实例化Bean、依赖注入等。...了解这一流程对于理解和优化SpringMVC应用程序的性能至关重要。
springmvc执行流程图,图片下载,一看就会,面试必备
如上所述,SpringMVC的核心流程图主要展示了从用户请求到达服务器到最终响应给用户的过程。下面是对该流程图的详细解读: 1. **初始化阶段**:当应用启动时,`DispatcherServlet`读取配置文件并初始化相应的组件,...
SpringMVC是一个功能强大且灵活的Web开发框架,它简化了Web应用的开发流程。通过合理的配置和设计,可以有效地避免jar包冲突,提高开发效率,同时保证代码的可读性和可维护性。本资源旨在帮助初学者快速上手...
在 SpringMVC 中,请求处理的流程是高度模块化的,涉及多个组件协同工作,使得应用程序更加灵活和可扩展。 首先,当用户向服务器发起请求时,这个请求会首先被 DispatcherServlet(前端控制器)捕获。...
**SpringMVC**是Spring框架中的一个重要组成部分,主要用于Web应用程序的开发。它遵循MVC(Model-View-Controller)设计模式,帮助开发者构建清晰、可维护的Web应用。与Spring其他部分无缝集成,无需额外的中间层...
在本项目中,我们将深入探讨如何使用SpringMVC框架构建一个功能完备的Web应用程序。SpringMVC是Spring框架的一部分,专为处理HTTP请求和响应而设计,它提供了一个灵活的模型-视图-控制器(MVC)架构,使得开发者可以...
这个简单的SpringMVC项目是一个很好的起点,可以帮助初学者理解SpringMVC框架的基本工作原理和配置流程。随着对框架的深入学习,可以逐步添加更复杂的功能,如表单处理、数据验证、服务调用等,进一步提升Web应用的...
这个名为"一个简单的springMVC入门项目"的压缩包文件可能是为了帮助初学者了解和掌握SpringMVC的基本概念和操作流程。让我们深入探讨一下SpringMVC的核心组件和关键功能。 1. **DispatcherServlet**:作为SpringMVC...
13SpringMVC运行流程图解.md
SpringMVC留言板是一个基于Java的Web应用程序,使用了SpringMVC框架来实现用户交互和数据管理。这个实验项目旨在帮助开发者了解如何在实际环境中运用SpringMVC,掌握其核心概念和工作流程。以下是对该实验项目的详细...
6. **模型AndView**:处理器执行完成后,返回一个ModelAndView对象。Model是模型数据,通常包含要显示的数据;View是视图信息,如视图名或完整的URL。 7. **视图解析器 ViewResolver**:DispatcherServlet接收到...
0从源码角度分析SpringMVC执行流程.java
SpringMVC是Spring框架的一个核心模块,专门用于处理Web应用的Model-View-Controller(MVC)架构。它提供了一种高效、灵活的方式来组织和分离业务逻辑与表现层代码。下面我们将详细探讨SpringMVC的执行流程及其关键...