日期:2014-05-18  浏览次数:20623 次

struts1,2如何实现在web启动时加载配置文件
各位大侠,我想知道,Struts 1和2 是怎么实现在WEB服务启动时就执行加载配置文件的方法。

1是Servlet Servlet并没有配置start-up-load,但却能在服务启动时加载配置文件。
2是Filter 也没有在web.xml中配置关于启动就加载某个类,但也是在WEB服务启动时就加载了配置文件,
我想知道他们是如何实现的。

麻烦各位大神讲述稍微详细点。

------解决方案--------------------
看看代码,有没有显示的在代码里启动了。
------解决方案--------------------
struts2的核心Filter就能完成加载工作,start-up-load只是显示的提醒什么时候加载。
------解决方案--------------------
想知道具体的  只有去看源码  Struts是开源的   你可以弄到源码  自己学习下就好了 
------解决方案--------------------
打开web.xml里单单配置了一个struts2的核心Filter


public void init(FilterConfig filterConfig) throws ServletException {
    InitOperations init = new InitOperations();
    try {
      FilterHostConfig config = new FilterHostConfig(filterConfig);
      init.initLogging(config);
      Dispatcher dispatcher = init.initDispatcher(config);
      init.initStaticContentLoader(config, dispatcher);

      this.prepare = new PrepareOperations(filterConfig.getServletContext(), dispatcher);
      this.execute = new ExecuteOperations(filterConfig.getServletContext(), dispatcher);
      this.excludedPatterns = init.buildExcludedPatternsList(dispatcher);

      postInit(dispatcher, filterConfig);
    } finally {
      init.cleanup();
    }
  }


有个init方法。
------解决方案--------------------
额  我不是太懂这些  楼主要是看懂了记得回来分享下啊
------解决方案--------------------
你在web.xml里面配置struts时,struts会去查找struts的默认配置文件(除非你把struts的配置文件名改变,那么你就要在web.xml里配置struts时指明struts配置文件的目录)
------解决方案--------------------
对于Struts2框架而言,需要加载FilterDispatcher,只要Web应用负责加载FilterDispatcher,FilterDispatcher将会加载Struts2框架。 
------解决方案--------------------
struts.xml放到WEB-INF/conf/下了
<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    <init-param>
     <param-name>config</param-name>
     <param-value>struts-default.xml,struts-plugin.xml,../conf/struts.xml</param-value>
    </init-param>
</filter>
------解决方案--------------------
上网查struts2的配置 相关资料上面有解释
------解决方案--------------------
通常大多数Servlet是在用户第一次请求的时候由应用服务器创建并初始化