struts2与springMVC的区别
1.struts2入口是filter,springMVC的 入口是sevelet。
2.springMVC与spring是天然耦合的,因为springMVC是spring framework框架中 的一个mvc框架。
3.springMVC几乎实现零配置,struts2的配置是复杂。
4.springMVC的开发效率和性能要高于struts2。
struts2的核心工作原理
1.前端发出request请求,请求首先经过一系列拦截器 。
2.请求调用filterDispather,filterDispatch询问ActionMapper请求是否需要调用某个action。
3.如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。
4.ActionProxy通过ConfigurationManager读取struts.xml,找到需要调用的Action类。
5.如果配置了其他Interceptor,先执行。
6.action处理完返回一个result,result映射一个结果,最后有response返回到前台页面。
springMVC的核心工作原理
1.前端的request请求通过web服务进行解析,通过web.xml匹配DispatcherServlet的映射路径,如果匹配则交给DispatcherServlet核心控制器。
2.DispatcherServlet会把请求路由到springMVC中的HandlerMapping,通过springMVC配置的controller和URL的映射关系查找到具体的某一个controller。
3.DispatcherServlet通过HandelerMapping适配器去查找到目标的controller方法和类,进行相关操作的执行。
4.controller方法会返回ModeAndView对象,springMVC通过视图解析器将ModeAndView的view进行 解析匹配,找到目标的页面视图。
5.视图解析器返回解析后的页面,将结果返回到页面进行渲染。
springMVC的注解
@Controller //注解controller
@RequestMapping("名称") //注解类和方法
@PathVariable //取出uri模板中的变量作为参数。
@ResponseBody //返回对象是json或者xml,用于注解Ajax