SpringMVC——1.入门/执行流程

SpringMVC

概述:一款Controller层框架,运用了MVC思想

为什么要用springmvc(优势):

  1. 角色划分清晰
  2. 与Spring集成度更高更契合
  3. 可适配:通过HandlerAdapter支持任意的类作为处理器类
  4. 可定制:HandlerMapping,ViewResolver等可根据需求进行定制重写
  5. 功能强大:有数据验证、格式化以及绑定机制 
  6. 易于测试:通过spring提供的mock对象进行简单单元测试
  7. 拥有jsp标签库

与structs2比较:

同:

  • 基于MVC
  • 底层离不开ServeltAPI(request/response)
  • 处理请求的机制都是通过核心控制器(springmvc:servelt;structs2:Filter)

  • springmvc入口为servelt;structs2入口为Filter
  • Springmvc基于方法进行设计(以方法作为处理单位),structs2基于类进行设计(以类进行处理单位,每次执行都会创建一个对应动作类),前者更快
  • springmvc更简洁且支持JSR303(一套javaBean参数校验标准,通过注解作用在bean属性上进行合法性验证),处理ajax更方便
  • structs2的OGNL表达式使得页面开发效率更高,但执行效率较之JSTL并未提升

一、执行流程

  1. 客户端页面向服务器发起访问请求
  2. DispatcherServlet核心控制器获取请求,向HandlerMapping获取目标请求路径对应的执行链
  3. DispatcherServlet核心控制器收到执行链,若为空则404报错
  4. DispatcherServlet核心控制器根据返回的执行链执行路径对应的控制器适配器方法
  5. Controller操作后返回处理结果Model和View
  6. DispatcherServlet核心控制器将调用视图解析器对返回的处理结果中的view进行视图路径解析,分析出完整视图路径
  7. 核心控制器收到完整视图路径
  8. 核心控制器将model中的数据根据视图上对应的参数位置进行渲染
  9. 核心控制器将渲染好的视图返回给前端页面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原来是肖某人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值