在500jsp错误页面获取错误信息
自定义异常发生时的错误处理页面:
1) 只要定义page指示元素的errorPage属性就可以指定当前页面发生异常时应该交给哪个页面进行处理,例如:<%@page errorPage="error.jsp"%>,即如果当前页面发生异常则错误信息的显示以及错误的处理都交给error.jsp页面;
2) 而处理错误的页面必须要将page指示元素的isErrorPage属性的值设为true,否则无法接受其它页面抛出的异常,例如<%@page isErrorPage="true"%>;
3) 错误出来页面中使用exception隐式对象来显示错误信息,如果isErrorPage为false则exception无法接受其它页面抛来的异常;
4) exception的用法:
i. exception本身实现了toString方法,因此可以直接和字符串相连转化为错误类型信息字符串,在JSP中可以直接使用表达式元素进行输出,比如<%=exception%>,输出的内容就是错误页面中的反白语句!!
ii. 接着可以使用exception的printStackTrace来打印异常发生时的堆栈跟踪信息(就是反白语句后面的一大坨错误信息):void Throwable.printStackTrace(PrintWriter s);
由于该方法需要传一个可供输出的PrintWriter对象,而在JSP中通常用隐式对象out进行输出,所以可以在Scriptlet中这样输出堆栈信息:
请求路径: <%=request.getAttribute("javax.servlet.forward.request_uri") %><br>
错误码: <%=request.getAttribute("javax.servlet.error.status_code")%> <%=exception.getMessage()%><br><br>
<% exception.printStackTrace(new PrintWriter(out)); %>
在500jsp错误页面获取错误信息的更多相关文章
- 404 Not Found错误页面的解决方法和注意事项
最近这段时间一直忙于整理网站的错误页面,期间整理了很多关于404 Not Found错误页面的知识,加之最近也在帮团队新来的人员培训seo优化知识,所以在此借助马海祥博客的平台就拿出来跟大家一起分享一 ...
- VC中GetLastError()获取错误信息的使用,以及错误代码的含义
转载:http://www.seacha.com/article.php/knowledge/windows/mfc/2011/0423/335.html VC中GetLastError()获取错误信 ...
- c++学习之:根据GetLastError()返回值获取错误信息
VC中GetLastError()获取错误信息的使用在VC中编写应用程序时,经常需要涉及到错误处理问题.许多函数调用只用TRUE和FALSE来表明函数的运行结果.一旦出现错误,MSDN中往往会指出请用 ...
- ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”
DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...
- ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式
由于ASP.NET Core应用是一个同时处理多个请求的服务器应用,所以在处理某个请求过程中抛出的异常并不会导致整个应用的终止.出于安全方面的考量,为了避免敏感信息的外泄,客户端在默认的情况下并不会得 ...
- ASP.NET Core中显示自定义错误页面-增强版
之前的博文 ASP.NET Core中显示自定义错误页面 中的方法是在项目中硬编码实现的,当有多个项目时,就会造成不同项目之间的重复代码,不可取. 在这篇博文中改用middleware实现,并且放在独 ...
- ASP.NET Core中显示自定义错误页面
在 ASP.NET Core 中,默认情况下当发生500或404错误时,只返回http状态码,不返回任何内容,页面一片空白. 如果在 Startup.cs 的 Configure() 中加上 app. ...
- ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面
应用场景和使用目的 很多时候,我们在访问页面的时候,由于程序异常.系统崩溃会导致出现黄页.在通常的情况下,黄页对于我们来说,帮助是极大的,因为它可以帮助我们知道问题根源,甚至是哪一行代码出现了错误.但 ...
- nginx下配置404错误页面
1.创建自己的404.html页面,并放于网站根目录. 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或 ...
随机推荐
- Elasticsearch 快速入门教程
面向文档 应用中的对象很少只是简单的键值列表,更多时候它拥有复杂的数据结构,比如包含日期.地理位置.另一个对象或者数组. 总有一天你会想到把这些对象存储到数据库中.将这些数据保存到由行和列组成的关系数 ...
- 深入理解Java虚拟机1-chap1-2-斗之气8段
1.HotSpot VM:热点代码探测能力,与JIT技术共同进行编译优化,输出高质量代码 2.运行时数据区域 程序计数器:控制程序执行顺序,无OOM Java虚拟机栈:生命周期与线程一致,描述Java ...
- 详解C# 网络编程系列:实现类似QQ的即时通信程序
https://www.jb51.net/article/101289.htm 引言: 前面专题中介绍了UDP.TCP和P2P编程,并且通过一些小的示例来让大家更好的理解它们的工作原理以及怎样.Net ...
- shell中输出日期的一个函数
开始 function T () { date '+%F %T.%N' } 结束
- word之常用功能
0.word区域:标题栏.快速访问工具栏.功能区.功能按钮.导航窗口.编辑区.水平垂直滑动条.状态栏 1.更改office主题.文件---帐户---office主题.(传统白色.浅灰色.深灰色) 2. ...
- Objective-C RunTime 学习笔记 之 AutoReleasPool
1.结构 struct magic_t { /* 魔法 */ static const uint32_t M0 = 0xA1A1A1A1; # define M1 "AU ...
- SQL SEVER 的基本请求指令
SQL分类:DDL--数据定义语言(create,alter,drop,declare) DML--数据操纵语言(select,delete,update,insert) DCL--数据控制语言(gr ...
- hashmap相关面试题
- UI自动化(十二)appium
windows不可以测试iosmac 是可以测试Android ios appium cmd 下装的是appium的服务端appium-desktop 是定位元素的工具,同时自带一个appium服务端 ...
- EJB到底是什么?
EJB到底是什么? 1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业 ...