3.SpringMVC与Struts2的主要区别?
①springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。
②springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
③Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面。 Jsp视图解析器默认使用jstl。
③Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面。 Jsp视图解析器默认使用jstl。
springMVC入口是一个前端控制器 Struts2是一个过滤器
springMVC基于方法开发 传递参数是通过方法形参,可以设计为单例或多例;Struts是基于类开发,传递参数是通过类的属性,是一个多例
Struts采用值栈存贮请求和响应数据,通过OGNL存取数据 SpringMVC通过参数解析器 将request对象内容进行解析成方法形参,将响应数据和页面封装成modelandview对象,最后又将模型数据通过request对象传输到页面。
SpringMVC工作原理:用户发送请求至前端控制器;接到请求后调用处理和映射器 处理请求;这时候处理器映射器找到具体的处理器,生成处理器对象返回给前端控制器;前端控制器调用处理器映射器,经过适配调用具体的后端处理器;后端处理器处理完返回modelandview,处理器映射器将controller执行结果modelandview返回给前端控制器;前端控制器再把modelandview传给视图解析器;解析后返回具体的view;前端控制器在根据view进行渲染视图,响应给用户;