SpringMVC(一)-基本概念

一、SpringMVC是什么

SpringMVC是一种基于Java的、实现MVC设计模型的请求驱动类型的轻量级Web框架,属于Spring FrameWork的后续产品,已融合在Spring Web Flow中。

SpringMVC通过一套注解,让一个简单的Java类成为处理请求的控制器(与Servlet技术对比),无需实现任何接口,还支持RESTful编程风格的请求。

二、SpringMVC的优势

1、清晰的角色划分(可以把SpringMVC想象成一个代码工程,角色就是其中的模块或组件)

前端控制器(DispatcherServlet)

请求处理器映射器(HandlerMapping)

处理器适配器(HandlerAdapter)

视图解析器(ViewResolver)

处理器或页面控制器(Handler/Controller)

验证器(Validator)

命令对象(Command 指请求参数绑定到的对象)

表单对象(Form Object 指提供给表单展示和提交到的对象)

2、分工明确、易于扩展。

3、命令对象就是一个POJO,无需继承框架特定API,可将命令对象直接作为业务对象。

4、可与Spring框架无缝集成,是其他Web框架所不具备的。

5、可适配,通过HandlerAdapter可支持任意类作为处理器。

6、可定制,HandlerMapping、ViewResolver等可非常简单的定制。

。。。。。。

三、SpringMVC和Struts2的对比

1、共同点

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

底层都离不开原始ServletAPI。

处理请求的机制都是使用一个核心控制器。

2、不同点

SpringMVC的入口是Servlet,Struts2是Filter。

SpringMVC是基于方法设计的(单例的),Struts2是基于类的(多例的),Struts2每次执行都会创建一个动作类,所以SpringMVC的执行速度比Struts2稍微快一些。

SpringMVC使用更加简洁,还支持JSR303,处理ajax请求更方便。(JSR303是一套JavaBean参数校验标准,定义了很多常用的校验注解,可以直接将这些注解加在JavaBean的属性上,执行校验)

Struts2的OGNL表达式使页面开发效率较高,但执行效率并没有比JSTL提升,尤其是Struts2的表单标签,远没有html执行效率高。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值