struts2工作原理

来源:互联网 发布:曹睿生父知乎 编辑:程序博客网 时间:2024/06/16 07:15

这个东东去面试java web方向的是经常问,其实,个人觉得没必要深究它的原理,会用就行了,但是没办法,想在面试官面前表现一下,背也得背出来!

其实也不是每个公司都在用struts2 的来这个公司就没用过,不过也不怎么做java了,但是还是把以前网上找到的先留下,万一以后用到呢。

 

1。struts2工作原理
  (a)用户发送http(httpServletRequest)请求,请求web服务器(Tomcat),web服务器加载web部署描述文件(web.xml),执行过滤器
  ActionContextCleanUp,Other filters,filterDispatcher等等 ActionContextCleanUp:需要与装饰器(siteMesh)插件一起使用,作用:使用装饰器插件,struts2中Action不再管理Action中属性,使用ActionContextCleanUp来清理Action中属性other filters:其他过滤器(siteMesh)filterDispatcher:struts2核心控制器
  注意:过滤器执行是有顺序(同图),值栈在filterDispatcher中创建
  (b)filterDispatcher询问ActionMapper是否请求Action,如果不请求Action,就不再实行struts2容器,否则filterDispatcher会调用ActionProxy,ActionProxy通过配置文件管理器(Configuraction Manager)加载struts.xml 配置文件,找到相应Action
   (c)ActionProxy会创建Action Invocation对象先执行struts2中相应的拦截器,在行所请求Action
    (d)Action Invocation执行Result找到分发页面
    (e)(反向)执行struts2中拦截器或拦截器栈
    (f) 响应(HttpServletResponse)给客户端
   
 struts2优势:
          与Servlet API(Servlet容器)解耦
            

0 0
原创粉丝点击