SpringMVC和Struts2

SpringMVC原理:

 

1.发起前端请求到前端控制器(DispatcherServlet),前端请求,请求HandlerMapping查找Handler,可以通过xml配置/注解进行查找。

2.处理器映射器HandlerMapping向前端控制器(DispatcherServlet)返回Handler。

3.前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行Handler.

4.Handler执行完成返回ModelAndView, 处理器适配器(HandlerAdapter)前端控制器(DispatcherServlet)返回ModelAndView.

5. 前端控制器(DispatcherServlet)请求视图解析器(View resolver)进行视图解析,根据逻辑视图名解析成真正的视图(Jsp)

6. 视图解析器(View resolver)前端控制器(DispatcherServlet)返回View

7. 前端控制器(DispatcherServlet)进行视图渲染,视图渲染将模型数据(ModelAndView对象)填充到request域

8.前端控制器(DispatcherServlet)向用户响应结果

 

Struts2原理:

 

1. 发起一个http请求,会首先进入ActionContextCleanup(清空值栈等,但会留下自己的,比如session,Attribute等)

2. 进入过滤器filter,进入FilterDispatcher

3.进入ActionMapper,来判断此请求是否需要struts2处理,如果需要,那么由ActionProxy来接管,通过配置管理我们可以找到我们的struts.xml,然后进入真正做事的Action  Invocation

4.依次穿过拦截器,进入action,从而根据返回的result选择我们要的页面,在拦截器的前半部分去值栈中取值通过标签展示在页面上,最后生成response返回。

 

 

posted @ 2016-08-12 22:20  ZeroWM  阅读(157)  评论(0编辑  收藏  举报