SpringMVC从基础到源码

认识SpringMVC

SpringMVC 框架是以请求为驱动,围绕 Servlet 设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是 DispatcherServlet,它是一个 Servlet,顶层是实现的Servlet接口。

SpringMVC 处理请求过程

  • 客户端发起请求,会首先经过前端控制器 DispatcherServlet 进行转发,转发到 Handler Mapping
  • DispatcherServlet 从 Handler Mapping 查找处理请求的 Controller,Handler Mapping 作用就是完成 URL 到 Controller 的映射
  • Controller 处理请求并返回 ModelAndView 对象,ModelAndView 是封装结果视图的组件
  • 再将视图结果返回给客户端

Servlet 与 SpringMVC

SpringMVC 是在 Servlet 的基础上进行了扩展,看看他们的继承关系是什么样的。

Servlet 继承关系

在这里插入图片描述

SpringMVC 继承关系

在这里插入图片描述

Servlet 与 SpringMVC 对比

  • Servlet 需要每个请求都在 web.xml 文件中配置一个 sevlet 节点
  • SpringMVC 的 DispatcherServlet 会拦截所有请求,让 Controller 去处理

Structs2 与 Spring MVC

相同点

  • 都是基于MVC模型的

不同点

  • Structs2 是基于类的,一个 request 创建一个 action,一个action 对应一个 request ;Servlet 是基于方法的,也就是一个 request 对应一个方法
  • Structs2 入口是 Filter;SpringMVC 入口是 Servlet
  • SpringMVC 的开发速度和性能优于 Structs2 ,流程更易理解
  • SpringMVC 和 Spring 是无缝的,可以认为 SpringMVC 是100% 零配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值