`
文章列表
  第二篇 struts的执行 本篇详细介绍struts在初始化之后是如何处理一个请求,并返回数据的。这里最核心的类是RequestProcessor以及 RequestUtils。RequestProcessor类通过RequestDispatcher实现页面的跳转,而 RequestProcessor负责处理request中传来的请求信息,存放到FormBeanConfig中,以及对要跳转的url进行处理。 第二篇  struts的执行 struts 在初始化完成之后,会根据请求调用doGet(...)或者doPost(...)方法,这两个方法直接调用process(reques ...
上回说到Struts的ActionServlet,其中有一步是 initModuleConfig方法,就是用于初始化MoudleConfig实例,它是整个org.apache.struts.config包的核心,在Struts应用运行时用来存放整个Struts应用的配置信息.如果有多个子应用,每个子应用都会有一个ModuleConfig对象.ModuleConfig和Struts配置文件的根元素<struts-config>对应.<struts-config>根元素中包含<form-bean>,<action>和<forward>等一系 ...
Struts框架只允许应用中存在一个ActionServlet类,但是可以存在多个客户化的RequestProcessor类,每个子应用模块都可以有单独的RequestProcessor类, ActionServlet主要负责初始化,以及介绍请求并找到合适的RequestRrocessor,之后真正干活的是RequestProecssor和Action. 上回说到ActionServlet的process方法最终会调用RequestProcessor类的process方法.下面介绍这个方法. 一.RequestProcessor的process方法 Java代码      public ...
Action类是用户请求和业务逻辑之间的桥梁,每个Action充当客户的一项业务代理。在RequestProcessor类预处理请求时,在创建了Action的实例后,就调用自身的processActionPerform()方法,该方法在调用Action类的execute()。 Action的excute()方法调用模型的业务方法,完成用户请求,然后根据执行结果把请求转发给其他合适的WEB组件。 一、Action类缓存 struts应用的生命周期中RequestProcessor只保证一个Action实例,所有的客户请求都共享这个实例.所有请求可以同时执行它的excute()方法。RequestP ...
④ 调用 initChain(); 读取web.xml 中命令链文件初始值chainConfig protected String chainConfig = "org/apache/struts/chain/chain-config.xml" ; // ④ initChain();   // 如没有chainConfig 参数,则使用默认 "org/apache/struts/chain/chain-config.xml" String value; value = getServletConfig().getInitParameter(&q ...
③ 调用 initServlet(); 从web.xml 中加载ActionServlet 的初始化参数如servlet-name ,加载DTD 文件并把其放入HashMap 缓存,读取并解析web.xml 的内容 // Remember our servlet name getServletConfig().getServletName (); <servlet>         <servlet-name >action</servlet-name>         <servlet-class>org.apache.struts. ...
Struts 源码最新版本为 struts-1.3.8-src.zip ( 12-Mar-2007 00:06 ) 学习笔记使用struts-1.3.5-src.zip 的源码, 下载地址:http://archive.apache.org/dist/struts/source/ 1.  在web.xml中通过下面定义把所有的*.do交给ActionServlet处理   <!-- Standard Action Servlet Configuration (with debugging) --> <servlet&gt
    分离关注( Separation of Concerns : SOC)是Ioc模式和AOP产生最原始动力,通过功能分解可得到关注点,这些关注可以是 组件Components, 方面Aspects或服务Services。   从GoF设计模式中,我们已经习惯一种思维编程方式:Interface Driven Design 接口驱动,接口驱动有很多好处,可以提供不同灵活的子类实现,增加代码稳定和健壮性等等,但是接口一定是需要实现的,也就是如下语句迟早要执行:   AInterface a = new AInterfaceImp();   AInterfaceImp是接口AInterfac ...
首先看一段代码(使用JDK 5),如下:  public class Test { public static void main(String[] args) { Integer i1 = 127; Integer i2 = 127; if (i1 == i2) System.out.println("Equal!"); else System.out.println("Not equal!"); } }      输出结果想必大家也知道,是“E ...
Global site tag (gtag.js) - Google Analytics