关于Spring4+Struts2.5 内部配置-配置文件路径-经常报的无法加载默认配置文件-错误说明

关于Spring4+Struts2.5 内部配置-配置文件路径-经常报的无法加载默认配置文件-错误说明

选用的是**Struts2.5**之后的版本。

1、无法加载默认配置文件

首先是Struts2.5的核心jar包中已经集成了xwork,所以无需添加相关jar包配置。

其次,不要忘了Freemaker的jar包,是必不可少的。

假如jar包的导入或者配置本身出错

容器启动时候的第一个报错肯定是

Unable to load configuration. - bean - jar:file:/F:/apache-tomcat-6.0.41/webapps/fjwssh/WEB-INF/lib/struts2-core-2.5.1.j 
ar!/struts-default.xml:98:87

这是一种误导,去检查自己的jar包即可。

2、关于Spring4的官方帮助文档以及web.xml中的配置文件路径的说明。

选用的是**_ spring-framework-4.1.0.RELEASE-dist_**

由于本人比较迷信官方文档,这次出了大溴。

首先关于监听器的配置

官方文档说,还可以采用

<servlet>
  <servlet-name>context</servlet-name>
  <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

结果根本就没有这个类的存在

获取别的版本有,不深究了

官方文档说,可以采用

<param-value>/WEB-INF/*/applicationContext*.xml</param-value>

结果我就信了,想着应该是发布项目的路径。

结果并不是,这个路径跟项目发布之后的类路径根本就没有任何关系,单纯的指的是你的项目的WEB-INF文件夹下的相关的文件, 而非发布项目之后生成的服务器上的WEB-INF文件夹

除非有特殊需求,否则,在项目中只需要保护好Struts2的动作类的配置文件的访问局限就可以,Spring的配置文件是无所谓的。

对于一般的使用情况,还是classpath最靠谱

<param-value>classpath:spring/applicationContext.xml</param-value>

最后,提示一个Struts2.5之后的过滤器的配置

优化了一下结构 -


<filter>
    <filter-name>struts-prepare</filter-name>
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareFilter</filter-class>
  </filter>

  <filter>
    <filter-name>struts-execute</filter-name>
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsExecuteFilter</filter-class>
  </filter>

如需要转载 请注明文章出处 https://my.oschina.net/u/3032872/blog/1648367 谢谢~

猜你喜欢

转载自my.oschina.net/u/3032872/blog/1648367