小白也能看懂的SpringMVC基础介绍

一、MVC模式

二、什么是SpringMVC

三、SpringMVC的处理流程

四、SpringMVC的框架特点

五、入参和出参

六、视图解析器


一、MVC模式

  • M-Model模型层:JavaBean
  • V-View视图层:JSP或者HTML文件
  • C-Controlle控制层:Servlet

MVC优点

  • MVC三个模块相互独立,松耦合架构
  • 多视图共享一个模型,大大提高代码的可重用性
  • 控制器提高了应用程序的灵活性和可配置性
  • 有利于软件工程化管理

MVC缺点

  • 增加了系统结构和实现的复杂性,不适合小型规模的项目
  • 视图层与模型之间需要控制器做中间的连接控制,所以效率较低

二、什么是SpringMVC

Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。

架构组成

  • 前端控制器(Front Controller)Spring MVC框架的核心组件,是一个Servlet,负责接收所有的HTTP请求并将其分派给相应的处理程序。
  • 处理程序映射器(Handler Mapper):根据请求的URL映射到合适的处理程序。
  • 处理程序(Handler):执行实际的业务逻辑,并生成模型数据供视图渲染。
  • 视图解析器(View Resolver):根据处理程序返回的逻辑视图名解析为具体的视图对象。
  • 视图(View):负责将模型数据渲染为用户可见的内容,如HTML页面或JSON数据等。
  • 拦截器(Interceptor):在请求的预处理和响应的后处理阶段进行拦截,可以用于日志记录、权限检查等功能。

三、SpringMVC的处理流程

  • 用户发送请求到前端控制器(DispatcherServlet)。
  • 前端控制器 ( DispatcherServlet ) 收到请求调用处理器映射器 (HandlerMapping),去查找处理器(Handler)。
  • 处理器映射器(HandlerMapping)找到具体的处理器(可以根据 xml 配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet。
  • 前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)。
  • 处理器适配器(HandlerAdapter)去调用自定义的处理器类(Controller)。
  • 自定义的处理器类(Controller)将得到的参数进行处理并返回结果给处理器适配器(HandlerAdapter)。
  • 处理器适配器 ( HandlerAdapter )将得到的结果返回给前端控制器 (DispatcherServlet)。
  • 前端控制器(DispatcherServlet )将 ModelAndView 传给视图解析器 (ViewReslover)。
  • 视图解析器(ViewReslover)将得到的参数从逻辑视图转换为物理视图并返回给前端控制器(DispatcherServlet)。
  • 前端控制器(DispatcherServlet)调用物理视图进行渲染并返回。
  • 前端控制器(DispatcherServlet)将渲染后的结果返回。

四、SpringMVC的特点

  • 角色划分清晰
  • 配置功能灵活
  • 大量的控制器接口和实现类
  • 可灵活选择View层实现技术
  • 支持国际化
  • 面向接口编程
  • 功能丰富

    五、入参和出参

入参@RequestParam

  • name
  • value
  • required
  • defaultValue

ModelAndView :包含模型数据信息和视图信息

常用方法

  • 添加模型数据

ModelAndView addObject(String attributeName,Object attributeValue);

ModelAndView addAllObjects(Map<String,?> modelMap);

  • 设置视图

void setView(View view);

void setViewName(String viewName);

出参Model

处理方法的入参为Model类型

数据结构:Map类型

常用方法:添加模型数据

注意:在Model中增加模型数据,若不指定key,则默认使用对象的类型作为key


六、视图解析器

ViewResolver:将逻辑视图名与JSP等视图技术进行匹配

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">     <property name="prefix" value="/WEB-INF/jsp/" />     <property name="suffix" value=".jsp" /> </bean>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值