`
小蛋蛋
  • 浏览: 80642 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Struts初始化处理

阅读更多
根据在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万成应用模块的加载。
分享到:
评论

相关推荐

    Struts1与Struts2本质区别

    1 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一...Struts 2 Action可以通过初始化、设置属性、调用方法来测试。

    struts2技术内幕+struts2权威指南

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象

    struts2 技术内幕——深入解析struts2架构设计

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。

    Struts2技术内幕.pdf

    本书由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。

    Struts2 技术内幕-深入解析Struts2架构设计与实现原理

    内容简介 出版日期: 2012年1月10日 《Struts2技术内幕:深入解析Struts2架构...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。

    Struts2PPt

    Struts2 ppt需要在web.xml中进行配置 对框架进行初始化,以及处理所有的请求

    Struts2的工作原理和流程

    1 客户端初始化一个指向Servlet容器的请求; 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh ...

    struts2开发文档

    1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求; 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做 ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框 架的集成很有帮助...

    Struts2请求处理流程及源码分析

    a)客户端初始化一个指向Servlet容器的请求;b)根据Web.xml配置,请求首先经过ActionContextCleanUp过滤器,其为可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助(SiteMeshPlugin),主要清理当前线程...

    struts1 源码

    struts1 的初始化和处理流程源码 1.initInternal(),处理资源绑定,返回一个MessageResources类实例 2.initOther(),初始化其它的全局描述符。 。、、、、、、

    struts spring hibernate整合框架

    Struts : MVC 设计模式的框架. MVC : V : view 视图层 : 用户与应用程序交互的界面。 用户通过view向服务器发送请求 ... 根据配置文件创建,并初始化对象。这样,在代码 中就可以彻底利用接口进行编程.

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    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的使用方法 ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    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的使用方法 ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    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的使用方法 ...

    SSH的jar包.rar

    一个请求在Struts2框架中的处理大概分为以下几个步骤: 1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选...

    Struts_config.xml详解

    (相当于初始化赋值) >>> prefix=""// 指定填充当前 Action 关联 FormBean 时 ,要添加到请求参数名称的前缀,因此,如果请求参数名为 "username" 并且 prefix 属性被设置为 "search" , 则将对 FormBean 调用一个...

    JAVA-SSH面试题

    主要对WEB框架常面试的点做了一下整理,希望可帮助到你,下面文档的部分内容 Java---SSH(MVC) 1. 谈谈你mvc的理解 ... Struts2.0 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”也使得测试更容易。

    在线图书网站的构建

     在线图书网站技术环境的安装﹑配置和初始化。  图书管理模块的实现,完成图书商品的分类管理﹑商品注册﹑查询﹑增加﹑删除﹑修改。  购物车实现,完成添加图书商品,查看购物车状态,删除购物车商品,清空购物车...

    处理ssh组合框架中如何用getBean获取实体

    处理ssh组合框架中如何用getBean获取实体 在ssh中不能使用练习时候用的方法 初始化 applicationCon..文件 所以使用该方法也可以获取 getBean方法!

Global site tag (gtag.js) - Google Analytics