SpringMVC 和 Struts2 的区别有哪些?

  1. SpringMVC 的入口是一个 Servlet 即前端控制器(DispatchServlet),而 Struts2 入口是一个 filter 过虑器(StrutsPrepareAndExecuteFilter);

  2. SpringMVC 是基于方法开发(一个 url 对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),Struts2 是基于类开发,传递参数是通过类的属性,只能设计为多例;

  3. Struts2 采用值栈存储请求和响应的数据,通过 OGNL 存取数据;SpringMVC 通过参数解析器是将 request 请求内容解析,并给方法形参赋值,将数据和视图封装成 ModelAndView 对象,最后又将 ModelAndView 中的模型数据通过 request 域传输到页面。jsp 视图解析器默认使用 jstl。

发表评论

后才能评论