JSP 教程 之 JSP 异常处理 4

简介: 在JSP中,异常处理涉及检查型异常(如文件未找到)、运行时异常(可避免的编程错误)和错误(不可控问题)。当异常发生时,可通过`<%@page errorPage="..."%>`指令指定错误页面,如`ShowError.jsp`。`isErrorPage="true"`指示该页用于处理错误。当访问抛出异常的`main.jsp`时,`ShowError.jsp`显示错误信息和堆栈跟踪。

JSP 教程 之 JSP 异常处理 4

JSP 异常处理

当编写JSP程序的时候,程序员可能会遗漏一些BUG,这些BUG可能会出现在程序的任何地方。JSP代码中通常有以下几类异常:

检查型异常:检查型异常就是一个典型的用户错误或者一个程序员无法预见的错误。举例来说,如果一个文件将要被打开,但是无法找到这个文件,则一个异常被抛出。这些异常不能在编译期被简单地忽略。
运行时异常:一个运行时异常可能已经被程序员避免,这种异常在编译期将会被忽略。
错误:错误不是异常,但问题是它超出了用户或者程序员的控制范围。错误通常会在代码中被忽略,您几乎不能拿它怎么样。举例来说,栈溢出错误。这些错误都会在编译期被忽略。

JSP提供了可选项来为每个JSP页面指定错误页面。无论何时页面抛出了异常,JSP容器都会自动地调用错误页面。

接下来的例子为main.jsp指定了一个错误页面。使用<%@page errorPage="XXXXX"%>指令指定一个错误页面。

<%@ page errorPage="ShowError.jsp" %>






<%
// Throw an exception to invoke the error page
int x = 1;
if (x == 1)
{
throw new RuntimeException("Error condition!!!");
}
%>

现在,编写ShowError.jsp文件如下:

<%@ page isErrorPage="true" %>


Opps...

Sorry, an error occurred.

Here is the exception stack trace:


<% exception.printStackTrace(response.getWriter()); %>

注意到,ShowError.jsp文件使用了<%@page isErrorPage="true"%>指令,这个指令告诉JSP编译器需要产生一个异常实例变量。

现在试着访问main.jsp页面,它将会产生如下结果:

java.lang.RuntimeException: Error condition!!!
......

Opps...
Sorry, an error occurred.

Here is the exception stack trace:

目录
相关文章
|
24天前
|
Java 容器
JSP 教程 之 JSP 过滤器 9
JSP和Servlet中的过滤器是Java类,能拦截请求和响应,进行信息处理。过滤器可附加到Servlet、JSP或HTML,通过`web.xml`配置。配置包括定义过滤器名称、类名、初始化参数和拦截资源。`&lt;filter&gt;`、`&lt;filter-name&gt;`、`&lt;filter-class&gt;`用于定义过滤器,`&lt;init-param&gt;`设置参数。
21 7
|
1天前
|
Java 程序员 容器
JSP 教程 之 JSP 异常处理 6
**JSP异常处理涉及检查型和运行时异常,以及不可控的错误。当异常发生时,可设置错误页面来处理。示例展示了一个try…catch块的用法,用于捕获并显示除零错误的异常信息。访问示例页面将显示定制的错误消息。**
3 0
|
1天前
|
Java 程序员 容器
JSP 教程 之 JSP 异常处理 5
**JSP异常处理涉及检查型异常(如文件未找到)、运行时异常和错误。检查型异常不可忽略,而运行时异常编译时可忽略。错误超乎程序员控制,如栈溢出。当JSP页面抛出异常,容器会转向错误页面,如使用JSTL标签的`&lt;%@page isErrorPage=&quot;true&quot;%&gt;`定义的ShowError.jsp,显示详细错误信息。**
3 0
|
2天前
|
Java 程序员 编译器
JSP 教程 之 JSP 异常处理 4
JSP异常处理涉及检查型异常(如文件未找到)、运行时异常及错误。当异常发生时,可通过`&lt;%@page errorPage=&quot;...&quot;%&gt;`指令指定处理页面,如`ShowError.jsp`。在错误页面中,使用`&lt;%@page isErrorPage=&quot;true&quot;%&gt;`获取异常信息并显示堆栈跟踪。访问引发异常的`main.jsp`会展示定制的错误信息和堆栈跟踪。
10 0
|
2天前
|
Java 程序员 容器
JSP 教程 之 JSP 异常处理 2
**JSP异常处理涉及检查型和运行时异常,以及不可控的错误。检查型异常发生在如文件缺失等情况下,运行时异常可预防。错误如栈溢出不受程序员控制。JSP允许通过`&lt;%@page errorPage=&quot;...&quot;%&gt;`指令设置错误页面,如在main.jsp中示例,当抛出异常时转至ShowError.jsp。**
8 0
|
2天前
|
Java 程序员 容器
JSP 教程 之 JSP 异常处理 3
**JSP异常处理教程简述:** 编程时可能遇到的JSP错误包括检查型异常(如文件未找到)、运行时异常(可避免)和错误(不可控,如栈溢出)。JSP允许通过`&lt;%@page errorPage=&quot;...&quot;&gt;`指令设定错误页面,当异常发生时自动调用。
6 0
|
3天前
|
Java 程序员
JSP 教程 之 JSP 异常处理 1
**JSP异常处理涉及检查型、运行时异常和错误。检查型异常不可忽略,运行时异常编译期可忽略。错误如栈溢出不受程序员控制。处理方式包括使用Exception对象,如通过`getMessage()`获取异常信息,`printStackTrace()`打印栈轨迹。**
6 0
|
24天前
|
Java 容器
JSP 教程 之 JSP 过滤器 8
JSP教程讲解了过滤器的使用,过滤器是Java类,能动态拦截请求和响应,用于处理或修改请求/响应信息。过滤器可关联到Servlet、JSP或HTML。过滤器应用顺序由web.xml中`filter-mapping`元素排列决定,顺序反转则只需调整元素顺序。例如,通过调整`filter-mapping`,可以改变LogFilter和AuthenFilter的执行顺序。
12 2
|
24天前
|
Java
JSP 教程 之 JSP 过滤器 7
JSP教程介绍了过滤器的概念,它们是Java类,用于动态拦截请求和响应。过滤器可附加到Servlet或JSP,允许多个过滤器如AuthenFilter和LogFilter按特定顺序工作。每个过滤器有自己的映射配置,如示例所示,通过&lt;filter&gt;和&lt;filter-mapping&gt;元素定义。LogFilter和AuthenFilter都映射到&lt;url-pattern&gt;/*,实现不同功能。
8 2
|
25天前
|
Java
JSP 教程 之 JSP 过滤器 4
JSP过滤器是Java类,用于动态拦截请求和响应,可附加到Servlet、JSP或HTML。`LogFilter`示例展示了基础用法,输出网站名和地址,通过实现`Filter`接口并处理`ServletRequest`和`ServletResponse`。在`doFilter`方法中,打印站点信息并继续过滤链。
12 3