springmvc与struts2不同

1、springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过滤器。

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

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

总结:

1.springMVC入口是一个servlet前端控制器,struts是一个过滤器。

2.SpringMVC是基于方法开发(一个URL对应一个方法)的单例的,每一次请求都复制一个方法副本供使用,传递参数通过形参传递。struts是基于类的多例的,每一个请求都创建一个对象,传递参数通过类的属性传递。(多例与单例可以在action中创建一个无参构造方法打印语句然后从界面访问查看)

3.springMVC没有值栈,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面。Struts采用值栈存储请求和响应的数据,通过OGNL存取数据

05-11 13:42