自定义异常发生时的错误处理页面:

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中这样输出堆栈信息:

请求路径:&nbsp;&nbsp;<%=request.getAttribute("javax.servlet.forward.request_uri") %><br>
错误码:&nbsp;&nbsp;<%=request.getAttribute("javax.servlet.error.status_code")%>&nbsp;&nbsp;&nbsp;&nbsp;<%=exception.getMessage()%><br><br>
<% exception.printStackTrace(new PrintWriter(out)); %>

最新文章

  1. How Google TestsSoftware - Part Two
  2. Zip 压缩、解压技术在 HTML5 浏览器中的应用
  3. C++类功能扩展预留五招
  4. recording just for inquiry in the future
  5. 让MyEclipse2013兼容Retina屏幕
  6. JAVA自定义注释(Target,Retention,Documented,Inherit)
  7. HDU 2215 Maple trees
  8. JS高程5.引用类型(6)Array类型的位置方法,迭代方法,归并方法
  9. java 双击jar包操作
  10. Adroid学习之 从源码角度分析-禁止使用回退按钮方案
  11. Tips_of_JS 之 利用JS实现水仙花数的寻找与实现斐波那契数列
  12. KODExplorer可道云-轻松搭建属于自己/团队的私有云网盘服务
  13. [置顶] xamarin android Fragment实现底部导航栏
  14. C++ 生成洛伦兹的蝴蝶
  15. SAP FI配置步骤
  16. 《C#数据结构和算法》-排序
  17. [Sqoop]将Hive数据表导出到Mysql
  18. 深入理解php内核
  19. MySQL--派生表临时结果集中的AutoKey
  20. WPF中Popup控件在Win7以及Win10等中的对齐点方式不一样的解决方案 - 简书

热门文章

  1. PHP中new self()和new static()的区别探究
  2. 前端的图片压缩image-compressor(可在图片上传前实现图片压缩)
  3. JavaScript基础理解及技巧(入门)
  4. Angela启动步骤
  5. Python压缩指定文件及文件夹为zip
  6. 如何为 SpringMVC 编写单元测试:普通 Controller 测试(转)
  7. puppeteer(二)操作实例——新Web自动化工具更轻巧更简单
  8. ACM-ICPC 2018 南京赛区网络预赛 Solution
  9. Delphi7打开项目提示&#39;one or more lines were too long and has been truncated&#39;
  10. [openjudge-动态规划]滑雪