每当我输入URL localhost:8443/context/anyname.anyextension时,我得到Status 404(Not found)但是当我尝试像localhost:8443/context/anynameWithouthExtensions之类的东西时,似乎Struts 2尝试映射到一个操作,然后我得到错误500(内部服务器错误)。我不应该总是通过两种方法获得404状态吗?在Struts 2中处理错误页面
0
A
回答
0
你可能已经使用了<default-action-ref
,将被用于所有的该命名空间联合国匹配的请求默认操作的参考。 对于该名称空间,您有一些规则指定仅处理没有扩展名 的URL。
看看这个:
文档:http://struts.apache.org/2.1.6/docs/action-configuration.html
<package name="Hello" extends="action-default">
<default-action-ref name="UnderConstruction">
<action name="UnderConstruction">
<result>/UnderConstruction.jsp</result>
</action>
,并最终发表您的配置。
如果是这样的话,我希望你有404即使有
localhost:8443/context/SOME_INVENTED_PATH/anynameWithouthExtensions
,因为默认的动作裁判大概只能绑定到根。
AND默认动作发生错误,当然...
0
我相信这是Struts 2试图将URL映射到操作的结果。当你提供“.anyextension”时,in知道它不是一个有效的Struts 2动作,除非你要追加“.action”作为扩展名(这是Struts 2使用的默认扩展名)。任何其他的,它知道这不是一个Struts 2的呼叫。同样,我相信缺少扩展是Struts 2的默认设置,它会尝试查找操作,并且因为没有有效的操作而失败。
您可以通过添加以下内容到struts.xml中添加自定义扩展:
<constant name="struts.action.extension" value=",action,do" />
此外,您可以添加一些错误处理程序的Struts中的有效作用的情况下返回404码,但会属于另一个问题。
感谢, 安迪
相关问题
- 1. Struts 2 +错误页面+配置
- 2. 在Struts 2中处理ActionForward
- 3. HTTP错误 - 页面处理
- 4. 处理aspx页面错误
- 5. 2页验证错误处理Symfony 2
- 6. Struts 2 - struts标记错误
- 7. 错误的Struts 2 struts-default.xml
- 8. 在struts中处理会话2
- 9. Struts 2 - 根据验证错误在页面上显示元素
- 10. Struts 2 ApplicationResources.properties错误
- 11. Struts 2 URL错误
- 12. 隐藏或离子2错误处理框自定义页面
- 13. Struts 2中的全局异常处理
- 14. xv6 rev6页面错误处理程序
- 15. 页面设计上的错误处理
- 16. Spring MVC - 动态错误处理页面
- 17. 错误处理页面/ Facelets的
- 18. 在Swift 2中的错误处理
- 19. Sitecore - 多站点错误页面处理
- 20. 为什么索引页在Struts 2中给出404错误
- 21. Elmah错误处理WebAPI 2
- 22. Swift 2(executeFetchRequest):错误处理
- 23. Struts 2的操作错误
- 24. 瓷砖3&Struts 2错误
- 25. Struts 2错误 - com.opensymphony.xwork2.util.logging.commons.CommonsLogger错误
- 26. 在asp.net中处理页面
- 27. ViewExpiredException由错误页面处理,仍在日志中
- 28. 在CakePHP中处理错误时设置页面标题
- 29. 如何在Coldfusion中处理404或页面未找到错误?
- 30. 如何在ICEfaces(带Facelets)中创建错误处理页面?