struts2 404处理
目前在做一个网络应用程序,struts2 + spring + hibernate,服务器是tomcat。希望用户在IE地址栏乱敲的时候,所敲入的所有未定义的URL都能被程序捕捉到,然后转到一个自制的404错误处理页面。
首先查阅网上的资料,得知可以在web.xml中加入这么一段:
<error-page>
   <error-code>404</error-code>
   <location>/error/404.jsp</location>
</error-page>
这样,所以未找到的404错误都会转到/error/404.jsp接受处理。
但是经过试验,我发现以.action结尾的URL会先被struts2框架所捕获,而不会直接转入web.xml中配置的处理页面。这样,如果在struts.xml没有配置相应的action,则会在tomcat里输出错误:
严重: Could not find action or result
There is no Action mapped for namespace / and action name ******. - [unknown location]
虽然最后也能转入web.xml中配置的处理页面,但是这样在命令台瞎输出一些东西,非常不便于程序的管理和调试,所以还得想办法让struts2框架处理未定义的action。
查阅网上资料,发现可以在struts.xml中,添加一个默认的package,然后在这个默认的package中,添加一个默认的action,让这个action转向404错误处理页面:
<package name="default" extends="struts-default">
   <default-action-ref name="notFound" />
   <action name="notFound">
    <result>/error/404.jsp</result>
   </action>
</package>
默认的package的特点就在于不定义namespace属性,这样所有未定义的namespace都会转向这里。name="default"是为了便于阅读,其实name是什么都可以,也可以为空:name=""。
然后还要在其它已定义的package中也添加默认的action,转向404错误处理页面。这样就可以完全处理所有的404错误了。
网友评论:
<global-results>
<result name="notFound">/404.html</result>
</global-results>,也可以
struts2 404处理的更多相关文章
- struts2 404错误
		action类必须放在xxxx.xxx.xxx.xxx.action 包下才可以. 
- struts2完全捕获404错误的方法
		目前在做一个网络应用程序,struts2 + spring + hibernate,服务器是tomcat.希望用户在IE地址栏乱敲的时候,所敲入的所有未定义的URL都能被程序捕捉到,然后转到一个自制的 ... 
- 路径名称和struts.xml配置不一致导致struts2报404
		struts.xml中写的是<result name="...">authorityInterceptor/xxx.jsp</result> 但是实际的文件 ... 
- Struts2 Handle 404 error page and wrong action
		1. To handle 404 not found yourself, just add this code to your web.xml <error-page> <error ... 
- <welcome-file>index.action</welcome-file>直接设置action,404和struts2中的解决方案
		这几天的项目页面的访问全部改为.action访问,在修改首页时遇到了问题.将web.xml文件中<welcome-file>index.action</welcome-file> ... 
- struts2 第一次使用 404 页面引发的一系列问题
		环境:ubuntu . eclipse.struts-2.3.24 问题描写叙述: 1. struts2 訪问出现404 2. 严重: Exception starting filter Str ... 
- struts2中<welcome-file>index.action</welcome-file>直接设置action,404的解决方案
		这几天的项目页面的访问全部改为.action访问,在修改首页时遇到了问题.将web.xml文件中<welcome-file>index.action</welcome-file> ... 
- struts2中怎样处理404?
		眼下在做一个网络应用程序,struts2 + spring + hibernate,server是tomcat.希望用户在IE地址栏乱敲的时候.所敲入的全部没有定义的URL都能被程序捕捉到,然后转到一 ... 
- 配置Struts2后运行jsp出现404的解决方法
		更新:善用控制台查看错误信息 --------------------------------------------- 原因:Java Build Path没有导入正确的jar包或者导入了但没有把相 ... 
随机推荐
- iOS — Autolayout之Masonry解读
			前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时 ... 
- 【6】Laravel5.1的migration数据库迁移
			查看Laravel5.1的目录 当你配置好数据库后,在命令行执行下边的操作 php artisan migrate 打开数据库会发现,我们的数据库多了四个表,神奇吧! 打开任意一个migration查 ... 
- myeclipse10 如何把代码预览的窗口去掉
			1,选择菜单: windows -> preferences2,在弹出窗口中选择General-> Editors -> FileAssociations3,在上方框内选择*.jsp ... 
- jQuery选择器的学习
			jQuery的核心在于它的选择器,通过观看视频和阅读,发现jQuery选择器大体上的分类可分为这么几种(不同人方式不同,这里选择一个自认为比较好的): 1.基础选择器(对应api文档中的基本选择器和层 ... 
- web.config 拆分
			<appSettings configSource="xxx.config"> </appSettings> 在 web.config 加入上面 然后创建 ... 
- javascript区分电脑与手机登陆
			<script language="javascript"> function checkMobile() { var pda_user_agent_list = ne ... 
- Python学习笔记九-文件读写
			1,读取文件: f=open('目录','读写模式',encoding='gbk,error='egiong') 后三项可以不写但是默认是' r'读模式:open函数打开的文件对象会自动加上read( ... 
- 了不起的分支和循环02 - 零基础入门学习Python008
			了不起的分支和循环02 让编程改变世界 Change the world by program 上节课,小甲鱼教大家如何正确的打飞机,其要点就是:判断和循环,判断就是该是不该做某事,循环就是持续做某事 ... 
- Postgres的用户认证
			我们先来讲讲postgresql的用户认证吧. 我想我们有必要明白以下几个问题: 第一.postgresql的用户和操作系统的用户没有任何直接的的关系.虽然在postgaresql的初始安装中,它会有 ... 
- cf C. Tourist Problem
			http://codeforces.com/contest/340/problem/C #include <cstdio> #include <cstring> #includ ... 
