Spring MVC的优势
Spring 框架提供了构建Web应用程序的全功能MVC模块——Spring MVC
- 拥有强大的灵活性、非侵入性和可配置性
- 提供了前端控制器DispatherServlet
- 分工明确,包含了控制器、验证器、命令对象、模型对象、处理程序映射、视图解析器等,并且每一个功能由专门的对象负责
- 可以自动绑定用户输入,并正确地转换数据类型
- 使用Map对象实现对模式数据的灵活传输
- 内置了校验器,可以校验用户的输入,如果校验不通过,则重定向回表单。校验器是可选的,支持编程方式和声明方式
- 支持多种视图技术,最常见的为JSP
- 提供了强大的JSP标签库,支持数据绑定的功能
Spring MVC 和 struts2 的区别
- 机制上,Spring mvc 的入口是servlet,而struts2 是filter
- 性能上,Struts2是基于类的设计,每次请求对应一个Action实例,而spring mvc 是基于方法的设计,更加容易实现RESTful url设计,因此spring mvc的性能更高
- 设计思想上,spring mvc 使用独立的AOP方式,struts2 使用的是拦截器机制
- 配置上,struts2 采用传统的配置文件方式,spring mvc除了mvc-servlet.xml外,不需要其他配置文件