SpringMVC(二)

SpringMVC在三层架构的位置

在这里插入图片描述

SpringMVC的优势

  1. 清晰的⻆⾊划分:
    前端控制器(DispatcherServlet)
    请求到处理器映射(HandlerMapping)
    处理器适配器(HandlerAdapter)
    视图解析器(ViewResolver)
    处理器或⻚⾯控制器(Controller)
    验证器( Validator)
    命令对象(Command 请求参数绑定到的对象就叫命令对象)
    表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象)。
  2. 分⼯明确,⽽且扩展点相当灵活,可以很容易扩展,虽然⼏乎不需要。
  3. 由于命令对象就是⼀个 POJO,⽆需继承框架特定 API,可以使⽤命令对象直接作为业务对
    象。
  4. 和 Spring 其他框架⽆缝集成,是其它 Web 框架所不具备的。
  5. 可适配,通过 HandlerAdapter 可以⽀持任意的类作为处理器。
  6. 可定制性,HandlerMapping、ViewResolver 等能够⾮常简单的定制。
  7. 功能强⼤的数据验证、格式化、绑定机制。
  8. 利⽤ Spring 提供的 Mock 对象能够⾮常简单的进⾏ Web 层单元测试。
  9. 本地化、主题的解析的⽀持,使我们更容易进⾏国际化和主题的切换。
  10. 强⼤的 JSP 标签库,使 JSP 编写更容易。
    还有⽐如 RESTful ⻛格的⽀持、简单的⽂件上传、约定⼤于配置的契约式编程⽀持、基于注解的
    零配置⽀持等等

SpringMVC 和 Struts2 的优略分析

共同点
它们都是表现层框架,都是基于 MVC 模型编写的。
它们的底层都离不开原始 ServletAPI。
它们处理请求的机制都是⼀个核⼼控制器。
区别
Spring MVC 的⼊⼝是 Servlet,⽽ Struts2 是 Filter
Spring MVC 是基于⽅法设计的,⽽ Struts2 是基于类,Struts2 每次执⾏都会创建⼀个
动作类。所以 Spring MVC 会稍微⽐ Struts2 快些。
Spring MVC 使⽤更加简洁,同时还⽀持 JSR303, 处理 ajax 的请求更⽅便。
(JSR303 是⼀套 JavaBean 参数校验的标准,它定义了很多常⽤的校验注解,我们可
以直接将这些注解加在我们 JavaBean 的属性上⾯,就可以在需要校验的时候进⾏校验
了。)
Struts2 的 OGNL 表达式使⻚⾯的开发效率相⽐ Spring MVC 更⾼些,但执⾏效率并没
有⽐ JSTL 提升,尤其是 struts2 的表单标签,远没有 html 执⾏效率⾼。
在这里插入图片描述在这里插入图片描述

1.1.3ModelAndView

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值