0
任何人都可以解释我为什么我收到以下异常:误差404 pageNotFound与struts2的
java.lang.ClassCastException: org.apache.struts2.dispatcher.StrutsRequestWrapper cannot be cast to com.evermind[Oracle Containers
for J2EE 10g (10.1.3.5.0) ].server.http.EvermindHttpServletRequest
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.NotFoundServlet.sendNotFound(NotFoundServlet.java:26
)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.NotFoundServlet.service(NotFoundServlet.java:18)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java
:64)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java
:15)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
我得到它时,我想有NOT_FOUND页面和我的请求URL结束于[some_ext]喜欢。 htm,.blah。但是,当请求是没有[some_ext]。(如_http:/域名/第1部分/第2部分/ nosuchurl),那么一切都OK,我得到的支柱配置映射正常NOT_FOUND页:
<default-action-ref name="nopagefound"/>
<action name="nopagefound">
<result>/WEB-INF/jsp/errors/notfound.jsp</result>
</action>
我使用Struts2的(2.3 .1.2)+部署在oc4j 10.1.3.5.0上的Spring。
这里是我的支柱映射:
<filter>
<filter-name>struts</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
而且在Struts.properties
struts.action.extension= ,
感谢您的答案,但这并没有帮助。首先,我不需要任何扩展,第二 - 我有默认和自定义404页面的例外。此外,如果我按照您的建议映射,我对于不存在以“.action”结尾的不存在的url的例外情况不例外,但我确实对所有其他地方都有。 – user1278890 2012-03-27 09:07:07
正如你所知,如果你没有指定任何扩展struts会给.action扩展。如果他们不是您需要此过滤器的操作,那么您还有什么其他扩展? – 2012-03-27 16:12:36
To @Mohana Rao SV。那么正如我所说,我不需要任何扩展我只需要显示正常404 PAGE NOT FOUND如果用户指定一些错误的网址。如果这个错误的URL没有扩展我有404页面,但是当有一个扩展名(不管是哪一个)时,我有ClassCastException(500错误页面)404页面应该是这里出现问题。我想也许这是oc4j错误,因为oc4j 10.1.3.5.0有点旧了。 – user1278890 2012-03-28 07:38:04