struts2工作原理_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > struts2工作原理

struts2工作原理

 2013/10/18 15:21:21  Action-人生  程序员俱乐部  我要评论(0)
  • 摘要:struts2工作原理:编程原理:用户发送http请求---》Web服务器(tomcat)--》加载web.xml(web部署描述文件)文件-执行struts核心控制器(StrutsPrepareAndExecuteFilter或者filterDispatcher)-->加载struts.xml文件,通过请求action名字找到匹配的action-->在action中调用(execute)(业务层|数据层)-->执行result=“"-->
  • 标签:工作 struts
struts2工作原理:
    编程原理:
         用户发送http请求---》Web服务器(tomcat)--》加载web.xml(web部署描述文件)文件-执行struts核心控制器(
         StrutsPrepareAndExecuteFilter或者filterDispatcher)-->  加载struts.xml文件,通过请求action名字找到匹配的action  -->在action中调用(execute)(业务层|数据层) -->执行result=“"--> 通过result 找到struts.xml与result名字匹配结果--》转发到
         页面返回给调用者
   
    程序调用:
    struts内部原理图:
    (1)用户发送http请求--》启动web服务器    ---》加载web.xml(web部署描述文件)配置文件 ---》执行web.xml中相应过滤器
              ActionContextCleanUp:清除页面中的属性
              other filter(SiteMesh:装饰过滤器)
              SiteMesh作用:页面布局、装饰
              FilterDispatcher:struts2核心控制器  
       注意:(a)使用SiteMesh(装饰过滤器),struts2容器 不在管理页面中属性,需要调用ActionContextCleanUp完成销毁
                  (b)过滤器执行是有顺序
                  ActionContextCleanUp-->SiteMesh-->FilterDispatcher
      (2)中央控制器FilterDistpacher询问ActionMapper是否需要请求action


      (3)如果需要请求action,FilterDispatcher就会调用它的代理(ActionProxy)加载配置文件


      (4)ActionProxy会调用Configuration Manager读取strus.xml配置文件
           注意:只加载一次  
       (5)根据请求名字,ActionProxy(action代理)调用 所有拦截器(Inertceptor),ActionProxy(action代理) 创建Action Invocation,去执行所对应action类, 根据Action类中名字找到匹配result页面  (jsp、freeMarker、Velocity)等技术,在此执行拦截器
        注意:struts2拦截器和servlet过滤器功能相同, 并比filter强大 拦截器执行顺序:先进后出

        (6)相应给用户(HttpServletResponse)

工作原理图:



  • class='magplus' title='点击查看原始大小图片' />
  • 大小: 125 KB
  • 查看图片附件
发表评论
用户名: 匿名