SpringMVC概述

SpringMVC是基于Java实现的一个MVC设计模型的WEB架构,在三层架构上, SpringMVC应用在表现层上, 它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持 RESTful 编程风格的请求。

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 编写更容易。
 

SpringMVC与Struts2对比

相同点:

1.都是表现层框架,都是基于MVC模型编写的

2.它们的底层都离不开ServletAPI

3.它们的处理机制都是一核心控制器

不同点:

1.SpringMVC的入口是Servlet,Struts2是一个Filter

2.SpringMVC是基于方法设计,Struts2是基于类。

3.SpringMVC的运行速度要比Struts2要快

4.Spring MVC 使用更加简洁,同时还支持 JSR303, 处理 ajax 的请求更方便

5.Struts2 的 OGNL 表达式使页面的开发效率相比 Spring MVC 更高些,但执行效率并没有比 JSTL

升,尤其是 struts2 的表单标签,远没有 html 执行效率高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值