JSP 教程 之 JSP 异常处理 5

简介: **JSP异常处理涉及检查型异常(如文件未找到)、运行时异常和错误。检查型异常不可忽略,而运行时异常编译时可忽略。错误超乎程序员控制,如栈溢出。当JSP页面抛出异常,容器会转向错误页面,如使用JSTL标签的`<%@page isErrorPage="true"%>`定义的ShowError.jsp,显示详细错误信息。**

JSP 教程 之 JSP 异常处理 5

JSP 异常处理

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

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

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

在错误页面中使用JSTL标签

可以利用JSTL标签来编写错误页面ShowError.jsp。这个例子中的代码与上例代码的逻辑几乎一样,但是本例的代码有更好的结构,并且能够提供更多信息:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page isErrorPage="true" %>






Opps...




Error:
${pageContext.exception}


URI:
${pageContext.errorData.requestURI}


Status code:
${pageContext.errorData.statusCode}


Stack trace:


${trace}







运行结果如下:

jsp-exeception-1

目录
相关文章
|
1天前
|
Java 应用服务中间件
JSP 教程 之 JSP 调试 4
**JSP调试技巧:**利用`System.out.println()`辅助调试,打印执行轨迹及变量值,适用于需要保持程序流连续的情况,如在Tomcat的日志中查看输出信息。示例展示在JSP中结合JSTL遍历并打印变量。此方法简单易用,有助于排查复杂客户端/服务器交互问题。
3 0
|
1天前
|
Java
JSP 教程 之 JSP 调试 3
**JSP调试技巧:**利用`System.out.println()`进行调试,它在不中断程序执行的情况下输出信息,适合于观察流程。示例展示在JSP中结合`&lt;c:forEach&gt;`循环使用,打印变量状态。这对于多层交互的程序尤其有用,能辅助定位问题而不会影响正常流程。
4 0
|
1天前
|
Java
JSP 教程 之 JSP 调试 2
**JSP调试技巧:**利用`System.out.println()`进行调试,方便标记代码执行及输出变量值,不影响程序流程,尤其适合需保持连续运行的场景。示例展示在JSP中结合`&lt;c:forEach&gt;`标签使用`System.out.println()`打印循环变量。
4 0
|
2天前
|
Java
JSP 教程 之 JSP 调试 1
**JSP调试技巧:**利用`System.out.println()`进行简单的日志打印,它无须引入额外类,在JSP和Servlet中广泛适用,尤其适合跟踪代码执行及输出变量值,不影响程序正常流程,适用于对时间敏感的场景。例如: ```java System.out.println(&quot;Debugging message&quot;); ``` 此方法便于理解程序状态,但大量使用可能污染控制台输出。
4 0
|
2天前
|
Java 程序员 容器
JSP 教程 之 JSP 异常处理 6
**JSP异常处理涉及检查型和运行时异常,以及不可控的错误。当异常发生时,可设置错误页面来处理。示例展示了一个try…catch块的用法,用于捕获并显示除零错误的异常信息。访问示例页面将显示定制的错误消息。**
4 0
|
3天前
|
Java 程序员 编译器
JSP 教程 之 JSP 异常处理 4
JSP异常处理涉及检查型异常(如文件未找到)、运行时异常及错误。当异常发生时,可通过`&lt;%@page errorPage=&quot;...&quot;%&gt;`指令指定处理页面,如`ShowError.jsp`。在错误页面中,使用`&lt;%@page isErrorPage=&quot;true&quot;%&gt;`获取异常信息并显示堆栈跟踪。访问引发异常的`main.jsp`会展示定制的错误信息和堆栈跟踪。
13 0
|
3天前
|
Java 程序员 容器
JSP 教程 之 JSP 异常处理 3
**JSP异常处理教程简述:** 编程时可能遇到的JSP错误包括检查型异常(如文件未找到)、运行时异常(可避免)和错误(不可控,如栈溢出)。JSP允许通过`&lt;%@page errorPage=&quot;...&quot;&gt;`指令设定错误页面,当异常发生时自动调用。
8 0
|
11天前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
|
11天前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
|
11天前
|
缓存 小程序 前端开发
Java服务器端技术探秘:Servlet与JSP的核心原理
【6月更文挑战第23天】Java Web开发中的Servlet和JSP详解:Servlet是服务器端的Java小程序,处理HTTP请求并响应。生命周期含初始化、服务和销毁。创建Servlet示例代码展示了`doGet()`方法的覆盖。JSP则侧重视图,动态HTML生成,通过JSP脚本元素、声明和表达式嵌入Java代码。Servlet常作为控制器,JSP处理视图,遵循MVC模式。优化策略涉及缓存、分页和安全措施。这些技术是Java服务器端开发的基础。