zoukankan      html  css  js  c++  java
  • 在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中这样输出堆栈信息:

    请求路径:&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)); %> 
  • 相关阅读:
    从dump看硬件问题
    Pycharm----【Mac】设置默认模板
    python----装饰器(几种常见方式的使用与理解)
    【Mac】打开配置文件,添加/修改环境变量
    Airtest---UI自动化测试项目
    python----PySnooper获取打印日志
    学习类网站
    unittest----assert断言的使用
    Mac---使用tree生成目录结构
    python request 留位置7
  • 原文地址:https://www.cnblogs.com/cnsdhzzl/p/9120406.html
Copyright © 2011-2022 走看看