日期:2014-05-20  浏览次数:20674 次

关于Struts2中的ognl-2.6.11.jar和ognl-2.7.3.jar
建了一个简单的工程:导入的jar包有六个,包括
commons-fileupload-1.2.1.jar
commons-logging-api-1.1.jar
freemarker-2.3.15.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
ognl-2.6.11.jar

web.xml仅配置了过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

此时运行存在的页面,没有任何问题。

将ognl-2.6.11.jar替换为版本更高的ognl-2.7.3.jar,再运行,结果报404错误。
运行容器为Tomcat6.0

------解决方案--------------------
你ognl-2.7.3.jar版本的话 org.apache.struts2.dispatcher.FilterDispatcher
要换成 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
------解决方案--------------------
探讨
你ognl-2.7.3.jar版本的话 org.apache.struts2.dispatcher.FilterDispatcher
要换成 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter