一、功能实现的方式不同。
- struts2 所有功能的核心,是通过一个过滤器Filter来完成的,即StrutsPreparedAndExcuteFilter
- springMVC 所有功能的核心,则是通过服务器的小程序Servlet完成的,即DispatcherServlet(前端控制器)
二、开发的根基点不同。
- struts2 开发的基点为类,一个url对应该类中的某一个方法,而参数的传递是通过类中的成员变量来接收的,为了避免数据混淆,只能设计成多例模式prototype
- springMVC 开发的基点为类中的方法,,一个url直接对应一个方法,参数的传递则是通过方法的参数列表来接收的,因此类的单例或多例均不影响参数的传递。
三、存储数据的位置不同。
- struts2将请求数据和返回的数据存储在值栈中,结合ognl来存取数据
- SpringMvc采用直接通过原始的request来获取请求内容,通过getParameter方法给方法中的形参赋值。通过ModelAndView对象进行存储,Model负责存储数据,View负责存储返回的页面。再Model的数据传输到View页面上。