struts2.1.6简单的实例加载struts-default.xml的问题
我看的书上的例子使用struts2.0.11
要求只加载
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.jar
xwork-2.0.4.jar
(HelloWorld实例)
我下载的是struts2.1.6版本,按照书上的写了一个HelloWorld……Tomcat部署的时候出现以下错误:
严重: Exception starting filter struts2Unable to load configuration. - bean - jar:file:/D:/Tomcat%206.0/webapps/Struts2/WEB-INF/lib/struts2-core-2.1.6.jar!/struts-default.xml:46:178
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:360)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
……
然后访问的时候报404错误(Tomcat的webapps目录下可以看得到所有的文件)
俺不知道是怎么回事了,struts.xml的内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="Struts2" extends="struts-default">
<action name="HelloWorld" class="ch2.helloworld.HelloWorld">
<result name="success">/ch2/helloworld/success.jsp</result>
<result name="error">/ch2/helloworld/error.jsp</result>
</action>
</package>
</struts>
难道2.0和2.1有较大的差别,还是其他问题?
------解决方案--------------------
这是apache的失误。按照官方文档说明,运行Struts2必须加载5个核心jar包,也就是咱们一开始拷贝的5个jar包,如果你用的是Struts2之前的版本是没有问题的,但是如果去下载这个新版本,就会报如上错误,因为还需要加载另外两个jar包,可是官方的说明文档没有更新
解决方案:在Struts2的解压缩文件夹内的lib文件夹里, 我们找到下列2个jar包
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
把他们复制到项目根目录下的\WEB-INF\lib\文件夹内。