欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jsp页面的例外处理

程序员文章站 2022-03-03 09:24:47
          在这篇文章中,我将向你讲解一个(sun企业级应用的首选)页面例外(ex...

          在这篇文章中,我将向你讲解一个(sun企业级应用的首选)页面例外(exceptions)是怎样抛出(throw)并且怎样捕捉这些例外,以便使你在jsp(sun企业级应用的首选)设计中能得到更有利的信息.
          首先,什么是exceptions?众所周知exceptions就是一个异常事件,它可能出现在程序的任何地方,比如:你试图连接一个,但是这个数据库已经关闭,这时就产生一个例外.
        如何捕捉(throw)一个例外啦?我们可以用下面的表达式:
<%
try {
  // code which can throw can exception
} catch(exception e) {
             // exception handler code here
}
%>
当然,还有另外的一种有用的方法:就是指定专用的例外处理页面,当例外发生时便由它来处理.这就是我下面要讲述的.
    建立三个页面:1.form.html(简单的年龄输入筐)代码如下:

<html><head><style>body, input { font-family:tahoma; font-size:8pt; }</style></head><body><!-- html form --><form action="formhandler.jsp(sun企业级应用的首选)" method="post">enter your age ( in years ) : <input type="text" name="age" /> <input type="submit" value="submit" /></form></body></html>
2:formhandler.jsp(sun企业级应用的首选)()(处理由form.html传来的age)代码如下:





<%@ page errorpage="exceptionhandler.jsp(sun企业级应用的首选)" %><html><head><style>body, p { font-family:tahoma; font-size:10pt; }</style></head><body><%-- form handler code --%><%int age;age = integer.parseint(request.getparameter("age"));%><%-- displaying user age --%><p>your age is : <%= age %> years.</p><p><a href="form.html">back</a>.</p></body></html>

请注意:(1)<%@ page errorpage="exceptionhandler.jsp(sun企业级应用的首选)" %>是指明了一个例外处理页面,它必须在jsp(sun企业级应用的首选)的第一行.(2)

<%int age;age = integer.parseint(request.getparameter("age"));%>是取得age(string类)并转化为int(类).<p>your age is : <%= age %> years.</p>
是输出你刚才输入的age,现在例外就可能发生了,如果 你输入的不是数字,比如:zsa;这时string能转化成int吗?
3.exceptionhandler.jsp(sun企业级应用的首选)(处理例外)代码如下:
<%@ page iserrorpage="true" import="java.io.*" %><html><head><title>exceptional even occurred!</title><style>body, p { font-family:tahoma; font-size:10pt; padding-left:30; }pre { font-size:8pt; }</style></head><body><%-- exception handler --%><font color="red"><%= exception.tostring() %><br></font><%out.println("<!--");stringwriter sw = new stringwriter();printwriter pw = new printwriter(sw);exception.printstacktrace(pw);out.print(sw);sw.close();pw.close();out.println("-->");%></body></html>
注意:<%@ page iserrorpage="true" %>表明:当jsp(sun企业级应用的首选)宣称了一个errorpage时,应该声明iserrorpage="true;
<%out.println("<!--");stringwriter sw = new stringwriter();printwriter pw = new printwriter(sw);exception.printstacktrace(pw);out.print(sw);sw.close();pw.close();out.println("-->");%>运用了printwriter和stringwrighter类,所以你不得不声明:import java.io.* 在你jsp(sun企业级应用的首选)程序中;即: