(二)java框架篇笔记库(15)

来源:互联网 发布:淘宝领的红包在哪里 编辑:程序博客网 时间:2024/05/18 00:37
  一.  Struts1的运行原理


1 ) . 第一步 : 在启动时通过前端总控制器ActionServlet加载struts-config.xml并进行解析

2 ) . 第二步 : 当用户在jsp页面发送请求被struts1的核心控制器ActionServlet接收,ActionServlet在用户请求的同时将请求参数放到对应的ActionForm对象中的成员变量中

3 ) . 第三步 : ActionServlet则会根据struts-config.xml中的映射关系找到相应的Action中的方法,并将相应的ActionForm一并传给这个Action中的方法里,然后执行相应业务逻辑操作

4 ) . 第四步 : 最后根据ActionMapping的findforward方法返回一个ActionForward,而后在struts-config.xml中找到与之对应的forwoard标签,根据它的配置路径找到相对应的jsp页面

 

     二. Struts2的运行原理


1 ) .  第一步 : tomcat启动的时候回加载web.xml,核心控制器FileDispatcher会加载并解析struts.xml

2 ) .  第二步 : 客户端会发送一个请求到action,FilterDispatcher会根据后缀名进行拦截

3 ) .  第三步 : FileDispatcher根据struts.xml的配置文件信息找到某个action对应的某个类里的指定方法

4 ) .  第四步 : 执行相关的业务逻辑最后返回一个String

5 ) .  第五步 : <action/>里配置<result/>name的属性值与返回的String进行匹配,跳转到指定的jsp页面 





 

     三. Struts2的体系结构


1 ) .  客户端向Servlet容器(例如Tomcat)发送一个请求 
         
2 ) .  请求经过一系列的过滤器(Filter)

3 ) .   接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action
         
4 ) .   如果ActionMappper决定需要调用某个Action,FilerDispatcher把请求的处理交给ActionProxy

5 ) .   ActionProxy通过Configuration Manager 询问框架的配置文件,找到需要调用的Action类
         
6 ) .  ActionProxy创建一个ActionInvocation的实例

7 ) .   ActionInvocation在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用
         
8 ) .  一旦Action执行完毕,ActionInvocation负责根据Struts.xml中的配置找到对应的返回结果,返回结果通常是jsp或者FreeMarker的模板


原创粉丝点击