首页 > 其他分享 >SpringMVC 框架的介绍

SpringMVC 框架的介绍

时间:2023-03-31 21:22:47浏览次数:37  
标签:控制器 请求 框架 SpringMVC 视图 介绍 DispatcherServlet Servlet

  Java 早期的 MVC 模型主要使用 Servlet 组件。用户的请求首先到达 Servlet,Servlet 作为控制器接收请求,然后调度 Java Bean 读写数据库的数据,最后将结果放到 jsp 中展现给用户。但是,Servlet 组件功能有限,而且与 jsp 的耦合度过高,使得基于 Servlet 组件的 MVC 架构开发很不方便。   SpringMVC 框架是 Spring 为 Web 应用的表现层开发提供的一套完备的解决方案,它实现了对 Servlet 技术的高度封装,通过功能强大的前端控制器 DispatcherServlet 对请求和响应进行统一处理。

 

 

 

⚫ SpringMVC的核心组件 ◼ DispatcherServlet:前端控制器,不需要程序员开发,早期需要在 web.xml配置,如果使用 SpringBoot 技术则不需要配置。用户请求到达前端控制器,首先被 DispatcherServlet 拦截,它是整个流程控制的中心,由它调用其它组件处理用户的请求。DispatcherServlet 有效降低了组件之间的耦合度。 ◼ HandlerMapping:处理器映射器,不需要程序员开发。 HandlerMapping 负责根据用户请求找到 Handler 即控制器。SpringMVC 提供了不同的映射器实现不同的映射方式,例如:配置文件方式,注解方式等。 ◼ Handler(即 Controller):处理器(控制器),需要程序员开发。它就是在开发中要编写的具体业务控制器。实际运行中,由 DispatcherServlet 把用户请求转发给某个 Handler,再由 Handler 对具体的用户请求进行处理。 ◼ HandlAdapter:处理器适配器,不需要程序员开发。通过 HandlerAdapter对处理器进行执行,按照特定规则(HandlerAdapter 要求的规则)去执行Handler(Controller)。 ◼ View Resolver:视图解析器,不需要程序员开发,需要配置。View Resolver负责将处理结果生成 View 视图。它首先把逻辑视图名解析成物理视图名,即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染及处理,通过页面展示给用户。 ◼ View:视图(页面),需要程序员开发。SpringMVC 框架提供了很多的对View 视图类型的支持,包括: jstlView、freemarkerView、pdfView 等。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。   总之,SpringMVC 框架具有功能模块划分清晰、分工明确、结构松散、与 Spring框架无缝集成等特点,可以满足各类请求的需要。框架中大部分组件并不需要用户去实现,但是用户应该知道整个框架的基本原理和实现步骤。    SpringMVC 项目的执行过程如下:  (1)Tomcat服务器启动,应用被加载。首先根据默认配置信息,实例并初始化DispatcherServlet 核心控制器类的对象; (2)DispatcherServlet类的对象读取默认配置信息,初始化各个控制器类的对象; (3)用户访问,浏览器发送的请求,被 DispatherServlet 捕获,该 Servlet 并不处理请求,而是根据请求的URL,来映射@RequestMapping 中的对外访问虚拟路径,找到相应的控制器类的相应方法; (4)执行映射对应的方法; (5)根据要求返回相应的值, 响应浏览器。 

标签:控制器,请求,框架,SpringMVC,视图,介绍,DispatcherServlet,Servlet
From: https://www.cnblogs.com/qiqi-yi/p/17277500.html

相关文章

  • Flask框架1
    今日内容概要flask和其他pythonweb框架介绍flask快速使用登陆显示用户信息小案例配置文件方式路由系统今日内容概要flask和其他pythonweb框架介绍pythonweb框架的本质都一样1.同步框架 django大而全内置的app多第三方app也多 flask小而精没有过多的内置组件......
  • Spring 框架的事务管理
    1、事务的概念事务是一个不可分隔的工作单元,其中的SQL语句要么全都执行,要么全都不执行,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。在企业级应用程序开发中,事务管理是必不可少的技术,用来确保数据的完整性和一致性。事务的四个特性:ACID......
  • SpringBoot 介绍
    1、定义SpringBoot是由Pivotal团队在2013年开始研发,2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置,简化了Spring项目的初始搭建和开发过程。Boot是启动的意思,SpringBoot本......
  • 博客系统——VBLOG_项目工程框架搭建
    VBLOG_项目工程框架搭建一、架构设计采用前后端分离架构设计:api:后端接口服务golang开发的restful接口使用mysql做数据存储web:vue3前端框架前端框架:vue3,vue-routerui组件:arco.design(头条开源组件库)二、接口设计2.1、管理员2.1.1、文章上传接口......
  • scrapy爬虫框架(三)Spider的使用
      在前面已经简单介绍了spider的基础用法,那么今天我们来详细了解一下Spider的具体用法。一、Spider的运行流程  spider是scrapy框架中最核心的组件,其定义了爬取网站的逻辑和解析方式,而spider主要做两件事情:定义爬取网站的动作。分析爬取下来的网页。  那么他的运行流......
  • windows使用/服务(10)Win11预览版退回正式版方法介绍
    闲的没事把系统win11:21H2正式稳定版本升级到22H2内部测试版,不太习惯而且还是个滚动发行版不稳定,回退到之前版本Win11将预览版返回到正式版的方法1.右击“计算机”选择“属性”,选择“winodws更新”选择“高级选项”。2.然后点击“恢复”,再点击“高级启动”下的“重启”。3.......
  • uni-app框架
    1.uni-app简介uni-app 是一个使用vue的语法+微信小程序的标签和API的跨平台前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台,几乎覆盖所有流量端,uni-app具有跨端数量更多、性能体验更优秀、学习成本低、开发成本低等几大关键优势。2.使用uni-app的......
  • MTK6785平台功能规格介绍_MTK联发科4G安卓核心板
    MTK6785安卓核心板是一款工业级高性能、可运行android12.0&android13.0操作系统的4G智能模块。集成了蓝牙、FM、WLAN和GPS模块,是一个高度集成的基带平台,结合了调制解调器和应用处理子系统,以支持LTE/LTE-A和C2K智能手机应用。该芯片平台集成了两个工作频率高达2.0GHz的ARM®Cort......
  • MTK6785平台功能规格介绍_MTK联发科4G安卓核心板
    MTK6785安卓核心板是一款工业级高性能、可运行android12.0&android13.0操作系统的4G智能模块。集成了蓝牙、FM、WLAN和GPS模块,是一个高度集成的基带平台,结合了调制解调器和应用处理子系统,以支持LTE/LTE-A和C2K智能手机应用。该芯片平台集成了两个工作频率高达2.0GHz的ARM®Cort......
  • MyBatis 框架的多表查询的实现
    1、表与表的联系类型一对一(1:1)一对多(1:n或n:1)多对多(n:m)2、Mybatis中实现多表查询的重要标签resultMap在Mybatis框架中,resultMap标签可以表示两个表之间的一对多和一对一关系。如:一个系可以有多个学生,如果想查询每个系的学生信息时,可以在Depar......