这是我今天面试的时候遇到的面试题,当时自己答得不太好,现在回来之后看了一些资料,总结一下,给以后的自己看,如果有不完整或者不正确的地方,希望各位能够指出来,谢谢大家
1. Struts2 的核心是基于一个过滤器即StrutsPreparedAndExcuteFilter
SpringMvc的核心是基于一个Servlet即DispatcherServlet前段控制器
2. Struts2是基于类开发的,传递的参数是通过类的属性传递(属性驱动和模型驱动),所以只能设计成多例
SpringMvc是基于类中的方法开发的,也就是一个url对应一个方法,传递参数是传到方法的形参上面,所以既可以是单例模式也可以是多例模式
3. Struts2采用的是值栈存储请求以及响应数据,OGNL存取数据
SpringMvc采用request来解析请求内容,然后由其内部的getParameter给方法中形参赋值,再把后台处理过的数据通过ModelAndView对象存储,Model存储数据,View存储返回的页面,再把对象通过request传输到页面去。