`

JSP异常处理机制

阅读更多

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)发布于测试应用程序后,运行结果如下


  • 大小: 18.7 KB
  • 大小: 5.8 KB
分享到:
评论

相关推荐

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    第10章 servlet的异常处理机制 337 10.1 声明式异常处理 338 10.1.1 http错误代码的处理 338 10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    第10章 servlet的异常处理机制 337 10.1 声明式异常处理 338 10.1.1 http错误代码的处理 338 10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    第10章 servlet的异常处理机制 337 10.1 声明式异常处理 338 10.1.1 http错误代码的处理 338 10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    第10章 servlet的异常处理机制 337 10.1 声明式异常处理 338 10.1.1 http错误代码的处理 338 10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用...

    基于JAVA jsp+mysql在线考试系统的毕业设计,使用Tomcat作为服务器,MySQL作为数据库,前端页面使用JSP技术

    基于JAVA jsp+mysql的在线考试系统毕设。该系统旨在为学校提供一个高效...2. 稳定性好:系统采用分层架构设计,完善的异常处理机制和日志记录系统,保证系统的稳定性和可靠性。 3. 易于扩展:系统的模块化设计和开放式

    [计算机Java毕业设计]ssm框架理财通的设计与实现+jsp+程序源代码+论文.rar

    本项目是一个基于SSM(Spring、SpringMVC、MyBatis)框架的理财通系统,旨在为用户提供一个安全、便捷、高效的在线理财平台。...此外,系统还提供了完善的日志记录和异常处理机制,方便开发者进行故障排查和维护工作。

    JSTL详细标签库介绍

    target=_blank&gt;java的异常处理机制&lt;/A&gt; &lt;LI&gt;&lt;A title=浅析Java语言中两种异常的差别 href="http://www.jspcn.net/htmlnews/11453814749211672.html" target=_blank&gt;浅析Java语言中两种异常的差别&lt;/A&gt; &lt;LI&gt;...

    2023Java高频面试题

    异常处理:Java中的异常类型、异常处理机制、如何自定义异常等。 IO流:Java中常用的文件读写、序列化和反序列化等操作。 多线程编程:线程的基本概念、线程同步、线程安全、死锁等问题。 JDBC:Java与数据库的交互...

    JSp 医院预约挂号系统源码+数据库

    (5) 诚信度查询:可以查看个人预约信誉度(医院要建立相应的诚信度机制) 查询与统计分析子系统 (1) 不同角色可以根据相应的角色权限对相应信息进行查询操作。 (2) 管理员可以对患者的预约情况进行相应统计及...

    各大企业java面试笔试题

    3.Java中异常处理机制,事件机制? 4.EJB与JAVA BEAN的区别? EJB与JAVA BEAN是SUN的不同组件规范,EJB是在容器中运行的,分步式的,而JAVA BEAN主要是一种可利用的组件,主要在客户端UI表现上。 5.JAVA中的多形...

    Java JDK实例宝典

    内容涉及Java的语言基础、面向对象程序设计、数字处理、数组与集合、字符串、异常处理、文件操作、多线程、Swing编程、图形和多媒体编程、反射机制、网络程序设计、数据库编程、Applet、Java与XML、Java Mail、JSP与...

    java+JDK+examples.rar_Swing Examples_java Applet_java file handl

    内容涉及Java的语言基础、面向对象程序设计、数字处理、数组与集合、字符串、异常处理、文件操作、多线程、Swing编程、图形和多媒体编程、反射机制、网络程序设计、数据库编程、Applet、Java与XML、Java Mail、JSP与...

    动力节点老杜推荐Java学习路线

    深入理解异常处理机制,学会使用try-catch语句和自定义异常。 学习Java的多线程编程,掌握线程的创建、同步和通信等技术。 学习Java的IO编程,包括文件读写、网络编程和序列化等。 阶段三:Web开发与框架 学习...

    深入 struts2

    Struts2的配置文件、Struts2的Action介绍、 一个Action内包含多个请求处理方法的处理、处理结果、属性驱动和模型驱动、异常处理机制等。。。

    Jsp图书馆管理系统软件设计(软件源码++数据库+sql本科毕业论文WORD文档资料).zip

    图书管理系统是学校管理机制中的重要组成部分,通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。本系统中包含6个功能模块:...

    shiro注解版

    -- 异常处理,权限注解会抛出异常,根据异常返回相应页面 --&gt; class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"&gt; ...

    java程序员面试宝典 含答案

    1、java基础部分:java基础部分问很简单,问的... h:java的异常处理; i:工作流的相关知识;j:多线程问的也很多;k:其他,这里包括包装器类、流程控制、注释等等知识。2、jsp部分:a:重定向问题;b:jsp内置对象问题;

    精通Java:JDK、数据库系统开发Web开发(实例代码)

    第7章 Java异常处理机制 第8章 Java反射机制 第9章 数据结构与集合类 第3篇 图形用户界面 第10章 Java Swing(上) 第11章 Java Swing(下) 第12章 Applet网页小程序 第13章 图形编程 第14章 多媒体编程 第4篇 Java...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    8.4.4 改变异常处理的方式 8.5 小结 第九章 CVS使用指南 9.1 CVS介绍 9.1.1 CVS简介 9.1.2 为什么要使用CVS 9.2 建立CVS的开发环境 9.2.1 下载CVS 9.2.2 配置CVS 9.3 CVS的使用方法 9.3.1 添加CVS资源库 9.3.2 提交...

    信息办公Struts图书馆管理系统-struts.rar

    Struts图书馆管理系统是...此外,该系统还提供了良好的错误处理和异常处理机制,确保了系统的稳定性和可靠性。总之,Struts图书馆管理系统是一个功能强大、易于使用的Web应用程序,适用于作为毕业设计或课程设计的项目

Global site tag (gtag.js) - Google Analytics