前言 | Spring MVC和 Struts2一样,都是属于 web 层的框架
- Spring MVC 的入口是一个 servlet 即前端控制器,而 Struts2 入口是一个 filter 过滤器。
- Spring MVC 是基于方法开发(一个 url 对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),Struts2 是基于类开发,传递参数是通过类的属性,只能设计为多例。
- Struts2 采用值栈存储请求和响应的数据,通过 OGNL 存取数据, Spring MVC通过参数解析器是将 request 请求内容解析,并给方法形参赋值,将数据和视图封装成 ModelAndView 对象,最后又将 ModelAndView 中的模型数据通过 request 域传输到页面。Jsp 视图解析器默认使用 jstl。
- Struts2 绑定参数是绑在成员变量上,而 Spring MVC 绑定参数是绑在形参上。
多例:每个请求新建一个类
单例:每个请求复制一个方法