技术开发 频道

用JSTL增强Web应用程序的弹性



三、用JSTL进行错误处理

    在进行下面的讨论之前,让我们让来讨论一下错误处理。也许我们曾经很多次在浏览器上看到错误号为500的错误。更令人讨厌的是一些异常跟踪经常会显示出一些毫无意义的信息。或者象PHP一样,只显示一行错误号和方法调用,使人摸不着头脑。但至少它不会显示一大堆令人费解的信息。当然,这些错误发生的原因有很多,如底层构架的异常,网站负载过大。内存异常,数据库连接失败等。
 
    如果这些错误是运行时错误,我们可以使用try catch块对其进捕捉,并打印错误信息。在Tomcat下,我们上面开发的Tag就可以出现异常,当在conf/catalina.policy中定义的安全属性后,获得一些属性就可恶会出错,我们可以捕捉这些错误,并重定向到其它的页。当然,我们还可以在日志中记录所有的错误,甚至发mail或打印更容易理解的信息,这些可以通过设置来完成。实现这些功能的代码如下:
<%@ page errorPage="error.jsp" %> at the top of each displayed page and writing an error.jsp page similar to this: <%@ page isErrorPage="true" %> <HTML> <HEAD><TITLE>Error Page </TITLE></HEAD> <BODY> <H3>Exception Information</H3> <%= exception %> <% Error handling code. %> </BODY> </HTML>

    如果我们认为这样做太麻烦。可以写一个用于错误处理的tag库,用于打印更容易理解的exception信息。这个tag的实现过程和上面的例子类似,这里不再详细描述。我们可以向如下代码一样使用这个tag。

<%@ page errorPage="error.jsp" %> <%@ taglib uri= "/WEB-INF/article.tld" prefix= "info" %> <info:ExpressError/>

    我们从上面两个例子可以看到,使用JSP的tag会比直接在JSP中使用java代码以及使用如struts一样的框架更容易,而且更容易学习,并且同样使程序具有弹性。
0
相关文章