springMVC与struts2的比较

来源:互联网 发布:java框架电子书 编辑:程序博客网 时间:2024/06/16 09:53

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


springMVC参数传递
jsp—controller
属性驱动(jsp页面name与controller中的参数一致)
原生的sevlet的request和response传递
controller—jsp
modelAndView



原创粉丝点击