Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Error handling 在Struts 2中找不到操作时如何处理404错误_Error Handling_Configuration_Struts2_Http Status Code 404_Action Mapping - Fatal编程技术网

Error handling 在Struts 2中找不到操作时如何处理404错误

Error handling 在Struts 2中找不到操作时如何处理404错误,error-handling,configuration,struts2,http-status-code-404,action-mapping,Error Handling,Configuration,Struts2,Http Status Code 404,Action Mapping,在Struts 2中,如果找不到操作,我想重定向到404.jsp页面 我在web.xml文件中添加了错误代码,如下所示 403 /403.jsp 404 /404.jsp 它呈现404.jsp页面内容,但在下面的日志中出现错误。 如何删除以下错误 2014-04-07 14:07:46,706 WARN (org.apache.struts2.dispatcher.Dispatcher:64) - Could not find action or result: /struts2-test

在Struts 2中,如果找不到操作,我想重定向到
404.jsp
页面 我在
web.xml
文件中添加了错误代码,如下所示


403
/403.jsp
404
/404.jsp
它呈现
404.jsp
页面内容,但在下面的日志中出现错误。 如何删除以下错误

2014-04-07 14:07:46,706  WARN (org.apache.struts2.dispatcher.Dispatcher:64) - Could not find action or result: /struts2-test/home11
There is no Action mapped for namespace [/] and action name [home11] associated with context path [/struts2-test]. - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:552)
    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

当应用程序配置为在
Struts.devMode
中运行时,如果在呈现JSP页面时在运行时配置中找不到任何操作,Struts 2框架将生成警告。它帮助开发人员解决Struts标记中操作的不适当映射。但是,动作映射并不总是静态推断的,而是在运行时推断的。因此,标记应该能够从值堆栈中的属性中找到映射。但是struts标记只在操作上下文中执行,当您从错误页面重定向时,操作上下文将不可用。确保重定向到Struts操作时,有正确的URL映射到该操作

断点位于
org.apache.struts2.dispatcher.dispatcher:64
。感谢您的回复,我没有收到您的回复。你能详细解释一下错误页面的内容是什么吗?我已经更新了上面问题中错误页面的内容。如果找不到操作,那么它应该重定向到404页面,并且不通过警告,那么我如何才能实现这一点。发布错误页面,似乎您想要的是不可能的,警告是由框架使用其登录生成的,您无需做任何事,而不是通过调整其级别来关闭记录器。