当前位置: 首页 > 图文教程 > 网络编程 > JSP > JBuilder2005实战JSP之错误处理(4)

JSP
无需调优的内存优化
JAVA EXCEL API
新手指南之如何搜索你的问题的答案
Java 101:如果我不懂Java该怎么办?
jsp由浅入深
把本页内容导出成word文件或excel文件(原创)
在BEA WebLogic中使用Java消息服务
Form Your Own Design Pattern Study Group
从Coding Fan到真正的技术专家
我的Mysql5.0中文乱码解决方案
结合JAVASCRIPT将HTML导入Excel形成简单Web报表
Struts 的汉字显示问题终结解决方案
j2me网络实战指南
Java Page Flow开发:从JDBC数据源中检索并显示数据
人生、梦想、Java,又一个梦想者上路!
用Struts开发基于MVC的Web应用
Apache plug-in配置代理请求实战
一个简单的Timer Service
Tomcat 服务器下 JSP 页面中文问题及解决方法总结
Java Servlet 编程及应用(一)

JBuilder2005实战JSP之错误处理(4)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 44 ::
收藏到网摘: n/a

    错误处理页面error.jsp

  Web应用程序一般都有一个或多个统一的错误处理JSP页面,以便在功能性的JSP页面发生错误时,能以一种友好的形式向用户反馈。友好而统一的错误页面是Web展现层一个无可忽略的方面。

  下面,我们创建错误处理error.jsp文件,其代码如下所示:

  代码清单 11 error.jsp错误处理JSP页面

1. <%@page contentType="text/html; charset=GBK" isErrorPage="true" %>
2. <html>
3. <head>
4. <title>error</title>
5. </head>
6. <body bgcolor="#ffffff">
7. 抱歉,系统发生异常,点击<a href="login.jsp">这儿</a>返回首页
8. </body>
9. </html>

  错误处理JSP页面的page指令标签中的isErrorPage属性应该设置为true,如第1行所示,这样JSP页面中就可以访问exception隐含对象了。在第7行,我们用一种"优雅"的方式向用户报告程序错误并提供一个返回到登录页面的链接。

  现在,我们回过头去,通过<%@ page errorPage="错误处理JSP"%>将error.jsp指定为switch.jsp和login.jsp的错误处理页面。

  为switch.jsp页面添加错误处理页面后,其代码如下:

  代码清单 12 switch.jsp添加错误处理Jsp页面

1. <%@page contentType="text/html; charset=GBK" errorPage="error.jsp"%>
2. <%@page import="bookstore.*"%>
3. <%@page import="java.sql.*"%>
4. …

  为login.jsp页面添加错误处理JSP页面后,其代码如下:

  代码清单 13 login.jsp添加错误处理页面

1. <%@page contentType="text/html; charset=GBK" errorPage="error.jsp"%>
2. <%@page errorPage="error_error.jsp"%>
3. …

  这样,当switch.jsp的SQL查询语句不正确引发SQLException异常时,那个晦涩难懂的异常迹信息错误页面不见了,取而代之的是下面这个友好的报错页面:


图 15 友好的错误处理页面

  登录失败fail.jsp

  当用户提供不正确的密码时,switch.jsp将转向fail.jsp页面,同样你可以通过JSP向导创建fail.jsp页面,fail.jsp的代码如下:

  代码清单 14 fail.jsp 登录失败页面

1. <%@ page contentType="text/html; charset=GBK" errorPage="error.jsp" %>
2. <html>
3. <head>
4. <title>
5. fail
6. </title>
7. </head>
8. <body bgcolor="#ffffff">
9. 你输入的密码不正确,点击<a href="login.jsp">这儿</a>返回登录页面。
10. </body>
11. </html>

  当用户密码输入错误后,所看到的fail.jsp页面效果,如下图所示:


图 16 fail.jsp页面效果