JBuilder2005实战JSP之错误处理(4)
错误处理页面error.jsp(SUN企业级应用的首选)Web应用程序一般都有一个或多个统一的错误处理jsp(SUN企业级应用的首选)页面,以便在功能性的jsp(SUN企业级应用的首选)页面发生错误时,能以一种友好的形式向用户反馈。友好而统一的错误页面是Web展现层一个无可忽略的方面。
下面,我们创建错误处理error.jsp(SUN企业级应用的首选)文件,其代码如下所示:
代码清单 11 error.jsp(SUN企业级应用的首选)错误处理jsp(SUN企业级应用的首选)页面
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(SUN企业级应用的首选)">这儿</a>返回首页 8. </body> 9. </html> |
错误处理jsp(SUN企业级应用的首选)页面的page指令标签中的isErrorPage属性应该设置为true,如第1行所示,这样jsp(SUN企业级应用的首选)页面中就可以访问exception隐含对象了。在第7行,我们用一种"优雅"的方式向用户报告程序错误并提供一个返回到登录页面的链接。
现在,我们回过头去,通过<%@ page errorPage="错误处理jsp(SUN企业级应用的首选)"%>将error.jsp(SUN企业级应用的首选)指定为switch.jsp(SUN企业级应用的首选)和login.jsp(SUN企业级应用的首选)的错误处理页面。
为switch.jsp(SUN企业级应用的首选)页面添加错误处理页面后,其代码如下:
代码清单 12 switch.jsp(SUN企业级应用的首选)添加错误处理jsp(SUN企业级应用的首选)页面
1. <%@page contentType="text/html; charset=GBK" errorPage="error.jsp(SUN企业级应用的首选)"%> 2. <%@page import="bookstore.*"%> 3. <%@page import="java.sql.*"%> 4. … |
为login.jsp(SUN企业级应用的首选)页面添加错误处理jsp(SUN企业级应用的首选)页面后,其代码如下:
代码清单 13 login.jsp(SUN企业级应用的首选)添加错误处理页面
1. <%@page contentType="text/html; charset=GBK" errorPage="error.jsp(SUN企业级应用的首选)"%> 2. <%@page errorPage="error_error.jsp(SUN企业级应用的首选)"%> 3. … |
这样,当switch.jsp(SUN企业级应用的首选)的SQL查询语句不正确引发SQLException异常时,那个晦涩难懂的异常迹信息错误页面不见了,取而代之的是下面这个友好的报错页面:
图 15 友好的错误处理页面 |
登录失败fail.jsp(SUN企业级应用的首选)
当用户提供不正确的密码时,switch.jsp(SUN企业级应用的首选)将转向fail.jsp(SUN企业级应用的首选)页面,同样你可以通过jsp(SUN企业级应用的首选)向导创建fail.jsp(SUN企业级应用的首选)页面,fail.jsp(SUN企业级应用的首选)的代码如下:
代码清单 14 fail.jsp(SUN企业级应用的首选) 登录失败页面
1. <%@ page contentType="text/html; charset=GBK" errorPage="error.jsp(SUN企业级应用的首选)" %> 2. <html> 3. <head> 4. <title> 5. fail 6. </title> 7. </head> 8. <body bgcolor="#ffffff"> 9. 你输入的密码不正确,点击<a href="login.jsp(SUN企业级应用的首选)">这儿</a>返回登录页面。 10. </body> 11. </html> |
当用户密码输入错误后,所看到的fail.jsp(SUN企业级应用的首选)页面效果,如下图所示:
图 16 fail.jsp(SUN企业级应用的首选)页面效果 |
补充:Web开发 , Jsp ,