struts2的StrutsPrepareAndExecuteFilter拦截器中对Dispatcher进行了初始化

在Dispatcher类的init方法中定义了配置文件的加载顺序(下面是源码)

public void init() {

if (configurationManager == null) {
configurationManager = createConfigurationManager(DefaultBeanSelectionProvider.DEFAULT_BEAN_NAME);
}

try {
init_FileManager();
init_DefaultProperties(); // [1]
init_TraditionalXmlConfigurations(); // [2]
init_LegacyStrutsProperties(); // [3]
init_CustomConfigurationProviders(); // [5]
init_FilterInitParameters() ; // [6]
init_AliasStandardObjects() ; // [7]

Container container = init_PreloadConfiguration();
container.inject(this);
init_CheckWebLogicWorkaround(container);

if (!dispatcherListeners.isEmpty()) {
for (DispatcherListener l : dispatcherListeners) {
l.dispatcherInitialized(this);
}
}
} catch (Exception ex) {
if (LOG.isErrorEnabled())
LOG.error("Dispatcher initialization failed", ex);
throw new StrutsException(ex);
}
}

他们加载的顺序分别是:

1.default.properties文件
作用:定义了struts2框架中所有常量
位置: org/apache/struts2/default.properties

2.struts-default.xml
作用:配置了bean,interceptor,result等。
位置:在struts的core核心jar包.

struts-plugin.xml
它是struts2框架中所使用的插件的配置文件。
struts.xml
我们使struts2所使用的配置文件。

3.自定义的struts.properties
就是可以自定义常量。

4.web.xml

需要注意的是,后加载文件中的配置会将先加载文件中的配置覆盖。

最新文章

  1. mongodb学习03 操作详解
  2. Android adt v22.6.2 自动创建 appcompat_v7 解决方法,最低版本2.2也不会出现
  3. 《java JDK7 学习笔记》之键值对Map
  4. Java面向对象程序设计--与C++对比说明:系列2(类机制)
  5. 数据链路层-点对点协议PPP
  6. OSX: 真的吗?Mac OS X重大漏洞 改时钟获系统最高权限
  7. 基于KMP与Levenshtein模糊匹配算法的银行联行号查询(转)
  8. lua 数组
  9. JAVA代码提示
  10. 使用Java方式连接HDFS
  11. 一.C#基础:标识符和关键字
  12. [matlab] 21.灰色预测、线性回归分析模型与最小二乘回归 (转载)
  13. OGG初始加载过程概述
  14. 在elementUI中使用 el-autocomplete 实现远程搜索的下拉框
  15. cdnbest架设cdn同一个源用不同的端口访问如何设置
  16. ubuntu 环境 celery配置全解
  17. swift - label字体 倾斜,加粗
  18. 阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结
  19. java 安装配置时出现的问题
  20. dp之二维背包hdu3496

热门文章

  1. 洛谷 P4538 收集邮票
  2. 【bzoj4443】【[Scoi2015]小凸玩矩阵】二分+二分图最大匹配
  3. JDBC_PreparedStatement 防sql注入
  4. Linux的五个查找命令:find,locate,whereis,which,type 及其区别
  5. 使用React开发
  6. 【log4j】springboot项目启动 ,使用的druid数据源,log4j报错 log4j:WARN Please initialize the log4j system properly.
  7. Git:fatal: The remote end hung up unexpectedly
  8. GLSL实现Glow效果 【转】
  9. 高效重构 C++ 代码
  10. 如何让mysql的自动递增的字段重新从1开始呢?(