根据在web.xml中配置的初始化参数,当容器第一次启动或者ActionServlet的请求第一次发生的时候,将会加载struts ActionServlet,不管哪种方式加载,和其它Servlet一样,ActionServlet的init( )方法将被调用.这个方法的调用,将在所有的其他的请求发生之前完成.当init()方法被调用以后,struts将会完成一系列的复杂的初始化工作,让我们来看看在初始化过程中将发生些什么,理解了这些,对于我们debug和扩展自己的应用更加得心应手。
1、 初始化框架的内部消息绑定,这些消息用来输出提示,警告,和错误信息到日志文件中。org.apache.struts.action.ActionResources用来获取内部消息;
2、 加载web.xml中定义的不同参数,用以控制ActionServlet的不同行为,这些参数包括config, debug, detail, and convertNull ;
3、 加载并初始化web.xml中定义的servlet 名称和servlet映射信息(mapping info)。通过初始化,框架的各种DTD被注册,DTD用来在下一步校验配置文件的有效性;
4、 为默认应用加载并初始化Struts配置文件,配置文件,即初始化参数config指定的文件。默认配置文件被解析,产生一个ApplicationConfig对象存于ServletContext中。可以通过关键字org.apache.struts.action.APPLICATION从ServletContext中获取ApplicationConfig;
5、 Struts配置文件中指定的每一个消息资源都被加载,初始化,并存在ServletContext的合适区域(基于每个message-resources元素的key属性),如果key属性没有设置,则为org.apache.struts.action.MESSAGE;因为key的唯一性,仅仅只有一个消息资源能够以默认的方式存储下来
6、 Struts配置文件中声明的每一个数据源被加载并且初始化,如果没有配置数据源,这一步跳过;
7、 加载并初始化Struts配置文件中指定的插件。每一个插件的init()方法被调用;
8、 当默认应用加载完成,init()方法判断是否有应用模块需要加载,如果有,重复步骤4—7万成应用模块的加载。
分享到:
相关推荐
1 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一...Struts 2 Action可以通过初始化、设置属性、调用方法来测试。
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。
本书由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。
内容简介 出版日期: 2012年1月10日 《Struts2技术内幕:深入解析Struts2架构...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。
Struts2 ppt需要在web.xml中进行配置 对框架进行初始化,以及处理所有的请求
1 客户端初始化一个指向Servlet容器的请求; 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh ...
1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求; 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做 ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框 架的集成很有帮助...
a)客户端初始化一个指向Servlet容器的请求;b)根据Web.xml配置,请求首先经过ActionContextCleanUp过滤器,其为可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助(SiteMeshPlugin),主要清理当前线程...
struts1 的初始化和处理流程源码 1.initInternal(),处理资源绑定,返回一个MessageResources类实例 2.initOther(),初始化其它的全局描述符。 。、、、、、、
Struts : MVC 设计模式的框架. MVC : V : view 视图层 : 用户与应用程序交互的界面。 用户通过view向服务器发送请求 ... 根据配置文件创建,并初始化对象。这样,在代码 中就可以彻底利用接口进行编程.
8.4.3 改变初始化和销毁方式 8.4.4 改变异常处理的方式 8.5 小结 第九章 CVS使用指南 9.1 CVS介绍 9.1.1 CVS简介 9.1.2 为什么要使用CVS 9.2 建立CVS的开发环境 9.2.1 下载CVS 9.2.2 配置CVS 9.3 CVS的使用方法 ...
8.4.3 改变初始化和销毁方式 8.4.4 改变异常处理的方式 8.5 小结 第九章 CVS使用指南 9.1 CVS介绍 9.1.1 CVS简介 9.1.2 为什么要使用CVS 9.2 建立CVS的开发环境 9.2.1 下载CVS 9.2.2 配置CVS 9.3 CVS的使用方法 ...
8.4.3 改变初始化和销毁方式 8.4.4 改变异常处理的方式 8.5 小结 第九章 CVS使用指南 9.1 CVS介绍 9.1.1 CVS简介 9.1.2 为什么要使用CVS 9.2 建立CVS的开发环境 9.2.1 下载CVS 9.2.2 配置CVS 9.3 CVS的使用方法 ...
一个请求在Struts2框架中的处理大概分为以下几个步骤: 1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选...
(相当于初始化赋值) >>> prefix=""// 指定填充当前 Action 关联 FormBean 时 ,要添加到请求参数名称的前缀,因此,如果请求参数名为 "username" 并且 prefix 属性被设置为 "search" , 则将对 FormBean 调用一个...
主要对WEB框架常面试的点做了一下整理,希望可帮助到你,下面文档的部分内容 Java---SSH(MVC) 1. 谈谈你mvc的理解 ... Struts2.0 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”也使得测试更容易。
在线图书网站技术环境的安装﹑配置和初始化。 图书管理模块的实现,完成图书商品的分类管理﹑商品注册﹑查询﹑增加﹑删除﹑修改。 购物车实现,完成添加图书商品,查看购物车状态,删除购物车商品,清空购物车...
处理ssh组合框架中如何用getBean获取实体 在ssh中不能使用练习时候用的方法 初始化 applicationCon..文件 所以使用该方法也可以获取 getBean方法!