JSP出来有HTML代码,还有JAVA脚本元素,但是JSP页面用try-catch处理异常是比较困难的,怎样处理异常呢?还好,JSP规范中定义了异常处理机制,JSP异常有以下两个步骤
1、写一个JSP错误页面
异常处理文件需要使用page指令的isErrorPage属性,格式如下
<%@ page isErrorPage="true"%>
如果在页面上进行了这样的设置,页面就有一项特殊的功能,就是能够访问异常对象exception,exception是JSP的内部对象,当页面在运行过程中发生异常的时候,会抛出异常对象exception,该对象exception包含了异常信息。下面是处理异常文件errorPage.jsp:
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page isErrorPage="true"%>
2、在JSP内指定异常发生时应该回到哪个错误页面
要想让页面在产生异常的时候,由专门的异常处理文件对异常进行处理,需要在该页面中使用page指令的errorPage指定专门的异常处理页面,格式如下
<%@ page errorPage="errorPage.jsp"%>
另外,为页面指定异常处理文件还可以通过web.xml进行配置
常见的异常编码;
400错误:错误请求
401错误:访问被拒绝
403错误:文件被禁止访问
404错误:文件没有找到
500错误:问价在运行过程中发生未知错误
实例:
(1)已经一个web工程,命名为“errordemo”,在工程的WebRoot下新建JSP页面,命令为MyJsp.jsp,代码如下
- <%@ page pageEncoding="GB2312" %>
- <html>
- <head></head>
- <body>
- <%
- String[] strlen={"welcome","to","chengdu"};
- for(int i=0;i<10;i++)
- {
- out.println(strlen[i]+"---测试");
- i++;
- }
- %>
- </body>
- </html>
(2)启动tomcat,并发布web工程,访问MyJsp.jsp页面,会出现如下的错误
由于代码故意设置数组越界的异常,所以报出的是500错误,在配置文件web.xml中指定此错误处理页面,添加如下代码
- <error-page>
- <!-- 为响应状态码声明错误页面 -->
- <error-code>500</error-code>
- <location>/500.jsp</location>
- </error-page>
- <error-page>
- <!-- 为特定的异常类型说明错误页面 -->
- <exception-type>java.lang.Throwable</exception-type>
- <location>/500.jsp</location>
- </error-page>
<error-page>元素包括一个<exception-type>或一个<error-code>元素,外加一个<location>元素,<location>元素包括处理此错误的Servlet,JSP页面或静态页面的上下文相对路径,<exception-type>元素包含了所要处理的异常类型的完全限定名,<error-code>元素包含了所要处理的HTTP响应状态码
(3)编写异常处理页面
在工程WebRoot下新建JSP页面,命名为500.jsp,代码清单为
- <%@ page pageEncoding="GB2312"%>
- <%@ page isErrorPage="true" %>
- <html>
- <head>
- <title>500错误处理</title>
- </head>
- <body>
- 这是500错误页面!
- <br>
- 异常信息为<%=exception.getClass().getName() %>
- </body>
- </html>
(4)发布于测试应用程序后,运行结果如下
分享到:
相关推荐
Struts2作为一款流行的Java Web框架,其异常处理机制是其核心功能之一,它使得开发者能够优雅地管理和处理应用程序中的异常情况,提供了一种统一的错误处理方式,从而提高用户体验并增强程序的健壮性。 在Struts2...
Struts2是一个流行的Java web框架,它提供了强大的异常处理机制,使得开发者能够优雅地管理和展示在应用程序中出现的错误和异常。以下是对Struts2异常处理机制的详细说明: 1. **异常处理流程**: 当一个Action...
然而,在实际开发过程中,难免会遇到各种异常情况,这时候就需要一套有效的异常处理机制来捕获和处理这些异常,确保应用的稳定性和用户体验。以下是对Struts1.x自定义异常处理的详细讲解。 首先,Struts1.x框架默认...
在编程世界中,异常处理是一项至关重要的技能,无论是Java、C语言、C++还是C#,甚至是用于服务器端脚本的jsp(JavaServer Pages),都包含有异常处理机制。异常处理是程序在运行过程中遇到错误时的一种恢复策略,它...
为了更好地处理这些异常,开发者应遵循良好的编程实践,如使用try-catch-finally语句块捕获和处理异常,提供详细的错误日志,以及使用合适的异常处理机制,如声明异常和自定义异常类。同时,持续学习和理解JSP的规范...
- Spring MVC中的异常处理机制,如`@ControllerAdvice`和`@ExceptionHandler`注解的使用。 - 设计JSON响应结构,以便于前端解析错误信息并展示给用户。 - 在JSP页面中如何根据服务器返回的JSON数据动态渲染错误提示...
下面将详细讨论Struts2中的异常处理机制及其相关知识点。 1. **异常处理机制概述** Struts2提供了内置的异常处理机制,允许开发者定义全局和局部的异常映射,以控制应用程序中出现异常时的行为。全局异常处理适用...
通过深入理解这些异常的原因和解决方法,开发者可以更有效地处理JSP中的各种问题,提高应用程序的稳定性和性能。此外,合理利用日志记录工具和监控系统也是预防和解决问题的关键步骤之一。希望本文能帮助大家更好地...
如果不想对每个可能抛出异常的代码段都进行单独处理,可以设置整个页面的异常处理机制。这通过在页面头部使用 `page` 指令的 `isErrorPage` 和 `errorPage` 属性实现。首先,创建一个异常处理页面,如 `errorPage....
尽管如此,许多遗留系统仍然依赖于Struts1,因此理解其异常处理机制仍然是必要的。 在Struts1中,异常处理主要通过两个组件来实现:`Action`类和`Tiles`或`Struts-config.xml`配置文件中的`exception`标签。当一个...
JSP中的错误通常会抛出异常,而良好的异常处理机制可以提高应用的健壮性。学习如何使用`<error-page>`指令捕获和处理异常,以及如何在JSP中优雅地显示错误信息,是初学者需要掌握的重要技能。 8. **国际化与本地化...
这一机制使得开发者能够集中控制错误处理逻辑,确保应用的一致性和可维护性。 ### 四、总结 通过在web.xml中配置`<error-page>`元素,结合自定义的JSP错误处理页面,开发者可以显著提升Web应用的健壮性和用户体验...
在Struts框架中,异常处理是不可或缺的一部分,因为它有助于确保程序的健壮性和用户体验。 手动异常处理在Struts中通常涉及到以下几个方面: 1. **异常拦截器**:在Struts 2中,我们可以通过编写自定义的拦截器来...
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。...结合提供的压缩包文件"struts2_003",可能包含了示例代码或者项目结构,帮助读者理解并实践Struts2的异常处理机制。
总的来说,Struts的异常处理机制为开发者提供了灵活的错误管理和用户反馈方式,有助于提升应用程序的稳定性和用户体验。在实际开发中,结合声明式和个性化处理,以及拦截器,我们可以构建出更加健壮的Struts应用。
本篇将详细介绍如何利用Maven和SpringMVC来实现统一的异常处理机制。 首先,我们需要理解什么是统一异常处理。在Web应用中,异常处理通常是分散在各个控制器方法中的,这使得代码复用性差,且不易维护。统一异常...
在Struts2中,异常处理机制是关键组成部分,确保程序在遇到错误时能够优雅地处理并提供反馈给用户。本文将深入探讨Struts2的异常处理机制,特别是声明式异常捕捉和异常映射。 首先,Struts2的异常处理机制允许...