关于JSP异常的处理
jsp中错误处理页面-isErrorPage="true"
举例说明:mustBeError.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,javax.servlet.*,javax.servlet.http.*" errorPage="error.jsp" %> <% //这个页面一定会出错。 int i=0; int j=1; out.println(j/i); %>
在此中通过errorPage="error.jsp"来指定出错时错误处理页面
error.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" isErrorPage="true" import="java.io.*"%> <html> <head> <title>出错了!</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> 出错了!<br> 发生了以下的错误: <br><hr> <font color=red><hr> getMessage():<br> <%=exception.getMessage()%><br><hr> getLocalizedMessage():<br> <%=exception.getLocalizedMessage()%><br><hr> PrintStatckTrace():<br> <% StringWriter sw=new StringWriter(); PrintWriter pw=new PrintWriter(sw); exception.printStackTrace(pw); out.println(sw); %><br> </font> </body>
在web.xml中声明异常和错误页面
例如: <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd" version="2.4"> <error-page> <error-code>404</error-code> <location>/pageNotFound.html</location> </error-page> <error-page> <exception-type>java.lang.NumberFormatException</exception-type> <location>/NumberFormatException.html</location> </error-page> </web-app>
说明:指定错误代码为404是,调用/pageNotFound.html
也可以指定错误类型如:java.lang.NumberFormatException,出现此错误类型是调用/NumberFormatException.html
在error.jsp中,首先在page指令中指定:
isErrorPage="true"
这是非常关键的地方,只有这样指定,这个页面才能进行错误处理,才能使用exception对象。
exception对象有几个非常重要的方法,用于获得出错的信息,这些方法如下:
<%=exception.getMessage()%>
<%=exception.getLocalizedMessage()%>
<% exception.printStackTrace(PrintWriter);%>
最后一个方法用于打印错误堆栈。如果需要在错误页面以外使用这个exception对象,那么可以这样把exception对象保存起来:
session.setAttribute("myError",exception);
在另一个页面使用:
Exception exception=( Exception )session.getAttribute("myError");
把这个异常对象引入进来。
关于JSP异常的处理的更多相关文章
- JSP异常之org.apache.jasper.JasperException(转)
According to TLD or attribute directive in tag file, attribute items does not accep t any expression ...
- jsp基础语言-jsp异常
JSP异常 jsp页面执行时会出现两种异常,实际是javax.servlet.jsp包中的两类异常JsError和JspException. 1.JsError 在jsp文件转换成servlet文件时 ...
- 新建 jsp异常,The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
新项目,新建jsp页面的时候报异常: Multiple annotations found at this line: - The superclass "javax.servlet.htt ...
- Ubuntu 14.04 载入 JWS 或 访问 jsp异常的解决方法
前段时间在Ubuntu 14.04中使用 Chrome登录 Webex准备面试的时候发现无法进入在线面试.搞笑的是前一天尝试进入 Webex的时候还一切正常,不过当时Webex的在线面试没有开始.等到 ...
- Myeclipse 保存jsp异常Save FailedCompilation unit name must end with .java, or one of the registered Java-like extensions
如图 解决方法:去掉jsp页面的调试断点
- Tomcat 加载 jsp 异常:ServletException: java.lang.LinkageError
环境:win10 JDK:java version "1.8.0_131" mvn 内置 Tomcat 报错: javax.servlet.ServletException: ja ...
- java中常见的几种异常
算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArray ...
- jsp总结
JSP 定义: 1)Java Server Page, Java EE 组件,本质上是 Servlet. 2)运行在 Web Container.接收 Http Request,生成 Ht ...
- 关于java中的异常问题 1
1.首先参考一下关于java异常处理方面的知识 查看博客http://lavasoft.blog.51cto.com/62575/18920/ 这里介绍的很好,下面从中学习到一些东西,摘抄如下: 1. ...
随机推荐
- Zabbix探索:LDAP的认证方式
这两天部署了Zabbix测试环境,终于用Puppet部署完成了.总是存在一些小问题,如服务不起动啦之类的. LDAP验证方式配置 刚刚配置Zabbix的用户管理,使用LDAP方式认证. 比较惊喜的是L ...
- Python中的导入
转自:http://bingotree.cn/?p=569 参考<Python学习手册>,强烈建议看下这本书的相关章节. 在一些规模较大的项目中,经常可以看到通过imp.__import_ ...
- Hadoop MapReduce编程 API入门系列之mr编程快捷键活用技巧详解(四)
1.Shift + Alt + S Hadoop没有使用jdk自带的默认序列化机制. 现在呢,hadoop-2.*里有两套序列化机制.一个是自己hadoop的序列化机制,一个是谷歌的. 所以,要改为. ...
- Java深度遍历文件夹(递归实现)
package FileDemo; import java.io.File; public class DeepSearchDir { /** * @param args */ public stat ...
- Android实例-拍摄和分享照片、分享文本(XE8+小米2)
结果: 1.分享文本不好使,原因不明.有大神了解的,请M我,在此十分感谢. 2.如果想支持图片编辑,将Action事件的Editable改为True. 相关资料: 官网地址:http://docwik ...
- 重金悬赏的微软:提交Win8漏洞以及发布Win8应用
随着Windows 8.1这个饱受诟病的操作系统的推出,微软想一举改变颓势,也只有从用户体验上下手了. 近来,微软针对Windows 8.1的漏洞,推出了三项奖励措施: 1.对于发现关键性漏洞,并且这 ...
- jdbc连接的工具类
在不实用框架的情况下,有一个jdbc的工具类来进行数据库的连接就再好不过了,下面提供这个工具类DBUtil.java package org.jdbc.test; import java.io.Inp ...
- 【不积跬步,无以致千里】Linux下启动Oracle服务和监听程序
oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下. 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_p ...
- Android下pm命令详解
在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下.这个命令与Package有关,且非常实用.所以研究之. 0. Usage: ...
- WebStorm 6.0下运行pomelo项目
最近想使用WebStorm来写pomelo,初次使用WebStorm,网上找了老半天根本没有介绍WebStorm如何创建或者打开运行pomelo的教程,网易pomelo官网介绍的使用 WebStorm ...