Java struts2捕获404错误的方法汇总
如果我们在浏览器地址栏乱敲的时候,所敲入的所有未定义的URL都能被程序捕捉到,然后转到一个自制的404错误处理页面。
先看效果图
登陆页面
主页面
随便输加上标点符号
随便输的action
方法一 编写 web.xml
<error-page> <error-code>404</error-code> <location>/404.html</location> </error-page>
注:
1.所以未找到的404错误都会转到 404.jsp 接受处理。
2.但是经过试验,我发现以.action结尾的URL会先被struts2框架所捕获,而不会直接转入web.xml中配置的处理页面。这样,如果在struts.xml没有配置相应的action。
前台报错:
后台报错:
方法二 编写 struts.xml
<default-action-ref name="pageNotFund"/> <action name="pageNotFund"> <result>/404.html</result> </action>
注:
1.pageNotFund 是自己定义的一个acion,它的结果页面为 /404.html 。
2.pageNotFund 请求的action中也可以处理其他结果 。
总结
当访问一个不存在页面时,一般显示404错误,这是一个很不友好的页面,很多网站都会让应用捕获这个404错误,并跳到指定的友好页面。随便输入,再也见不到404了。
以上就是本文的全部内容,希望对大家的学习有所帮助。
相关推荐
-
运行asp.net时出现 http错误404-文件或目录未找到
问题原因: 我遇到的情况,装了.NET 2.0 + IIS 升级后就出现以上问题:不确定其他原因也会不会产生类似错误.(如果有,希望大家能贴出更多的原因,方便遇到同样错误的人找到问题的根源) 解决方法: 首先,要重新注册IIS :运行cmd 后 进入"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" 键入命令aspnet_regiis -i 其次,在: 计算机管理--Internet信息服务(IIS)管理器--Web服务扩展--ASP.NET
-
用php来改写404错误页让你的页面更友好
404错误,很多人都知道,如果要访问的url不存在的时候就读取显示这个页面.以往在处理404方面我们通常的做法是要麽简单写几行字,而有心人士或许还会对其稍加美化,另外一少部份想投机取巧的傢伙甚至用meta标籤做延时转向,仅此而已,其实404还可以帮我们做很多事,这就是今天我们要讨论的重点了. 首先我来说明一下我的404究竟都能帮我做哪些事情: 1.他可以告诉我何时来自哪裡的用户要访问我哪个URL结果失败了. 2.他能告诉我对方为何要访问这个URL,并帮助我优化网站 3.他能告诉我对方的IP地址
-
php 404错误页面实现代码
复制代码 代码如下: <?php # 设置 $domain 为你的域名 (注意没有www) $domain = "jb51.net"; # 设置URL,注意没有后划线 / $docroot = "http://jb51.net"; # 设置错误信息的字体 $fontface = "Verdana"; # 设置404页面的字体大小 $fontsize = "2"; # 设置404页面的背景颜色,缺省是白色 $bgcolor
-
为Nginx自定义404,502错误页面的方法
首先打开nginx.conf文件,在fastcgi_temp_file_write_size 128k; 下面添加 fastcgi_intercept_errors on;注意,包括;号 然后在需要定义的站点的里面添加 error_page 404 = /404.htm;例如: 复制代码 代码如下: server { listen 80; server_name www.deepvps.com; index index.html index.htm index.php; error_page 4
-
PHP header()函数使用详细(301、404等错误设置)
如果您刚刚开始学习PHP,可能有许多函数需要研究,今天我们就来学习一下PHP Header()的使用方法,更多的使用说明,请您参照PHP中文手册,下面是关于header函数的详细使用说明 header实现404无法找到页面 复制代码 代码如下: Header("HTTP/1.1 404 Not Found"); 针对apache配置中的ErrorDocument 404 /404.php功能,把nginx配置中的 复制代码 代码如下: error_page 404 /404.php;
-
利用404错误页面实现UrlRewrite的实现代码
将下面代码保存到err404.html,然后设置404错误页面为err404.html页: 复制代码 代码如下: <script type="text/javascript" language="javascript"> var id=/(detial|show)\.asp\?id\=([0-9]+)/gi; var flag=/([a-z0-9_]+)\.asp\?flag\=xml/gi; var re_id=/(detial|show)\_([0-
-
IIS HTTP 错误 404.17 - Not Found 解决方法
错误提示如下图: 出现这种情况的原因通常是因为先安装了Framework,后安装的IIS: 运行cmd,输入: 复制代码 代码如下: C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis -i 注:C:\Windows\Microsoft.NET\Framework\V4.0.30319\ 是 netframework安装对应的路径: 如下图: 注册成功后,重启一下iis, 理论上应可以解决导致404.17 not found
-
NGINX下配置404错误页面的方法分享
1. 创建自己的404.html页面 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或单独网站配置文件,例如在nginx -> sites-enabled下的站点配置文件 ) 中在server 区域加入: error_page 404 = /404.html 或者 error_page 404 = http://www.xxx.com/404.html 4.更改后重启nginx,,测试nginx.co
-
asp.net网站的404错误页面的正确设置方法第1/2页
什么是404错误 HTTP 404 错误意味着链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,很难避免,比如说:网页URL生成规则改变.网页文件更名或移动位置.导入链接拼写错误等,导致原来的URL地址无法访问;当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在.但是,Web服务器默认的404错误页面,无论Apache还是IIS,均十分简陋.呆板且对用户不友好,无法给用户提供必要的信息以获取更多线索,无疑这会造成用户的流失. 404页面的作用
-
tornado捕获和处理404错误的方法
Tornado 文档中提到但是这样只能捕获到handlers中列出的路径请求中的错误. 如果只定义了(r"/hello", HelloHandler) 一条规则,那么只能捕获到 /hello/other,这样的未定义路径请求,而像/he./helloworld./he/other这样的会直接显示Tornado默认的404错误页面,而不会显示自定义的错误页面. 解决方法很简单只需要在路由规则的最后加一条(r".*", BaseHandler),用于捕获未被其他规则捕获
随机推荐
- Mysql 5.7.19 winx64 ZIP Archive 安装及使用过程问题小结
- jquery.cookie.js实现用户登录保存密码功能的方法
- jQuery快速实现商品数量加减的方法
- Perl语法之解析Perl变量使用
- Asp.net使用SignalR实现酷炫端对端聊天功能
- javascript实现九宫格相加数值相等
- C#通过NPOI操作Excel的实例代码
- 64位 win10系统安装绿色版mysql-5.7.16-winx64的教程
- JavaScript生成的动态下雨背景效果实现方法
- 【Java】BigDecimal实现加减乘除运算代码
- 微信小程序开发一键登录 获取session_key和openid实例
- JQuery触发事件例如click
- asp.net BasePage类+Session通用用户登录权限控制
- ESC键不太为人知的几个妙用
- 值得收藏的20个Linux服务器性能优化技巧
- 深入浅析STL vector用法
- laravel5创建service provider和facade的方法详解
- PHP不用递归实现无限分级的例子分享
- C语言小程序 如何判断三角型类型
- flask/django 动态查询表结构相同表名不同数据的Model实现方法