JSP培训之异常处理 android软件开发教程

  次阅读 作者:智能小宝 来源:互联网 2016-03-01 10:49 我要评论(0)

要对JSP程序可能产生的异常进行处理,可以从多个角度完成:可以针对特定的代码,可以针对特定的文件,也可以针对错误的类型。如果针对特定的代码,可以使用标准标签库中的核心标签库中的<c:catch>标签。如果针对特定的文件,可以使用JSP的page指令中的isErrorPage属性和errorPage属性完成。如果针对特定类型的错误,可以使用web.xml配置文件。1 使用<c:catch>进行异常处理<c:catch>标签可以针对特定的一行或者多行代码。<c:catch>标签的基本格式如下:<c:catch [var="存储异常信息的变量"]>其他的JSP代码,包括各种标签</c:catch>用法与Java代码中的try语句非常类似,把可能产生异常的代码放在<c:catch>开始标志和结束标志之间。这样,当这些代码产生异常的时候,JSP容器会对异常进行处理。下面是一个对界面异常进行处理的例子:<c:catch><c:out value="${user.address}"/></c:catch>如果希望产生异常之后,把异常信息保存起来供其它的代码使用,可以使用var属性指定一个变量。下面的代码会在异常产生的时候把异常信息存储在exceptionInfo变量中:<c:catch var="exceptionInfo"><c:out value="${user.address}"/></c:catch>如果需要可以在后面输出异常的信息:<c:if test="${exceptionInfo != null}">运行时候产生异常,异常信息为:${exceptionInfo.message}</c:if>2 为页面指定异常处理文件如果不想针对每一段代码都进行异常处理,可以以页面作为单位进行异常处理,可以指定当前页面运行过程中产生错误的时候,由特定的页面对异常进行处理。采用这种异常处理方式,需要编写一个专门的异常处理文件,然后在每个需要进行异常处理的文件中进行设置。编写异常处理文件异常处理文件中需要使用page指令的isErrorPage属性,格式如下:<%@ page isErrorPage="true"%>如果在页面上进行了这样的设置,页面就具有了一项特殊的功能,能够访问异常对象exception。exception是JSP的内部对象,当页面在运行过程中产生异常的时候,会抛出异常对象exception,该对象包含了异常信息。下面是一个异常处理文件:文件名:errorPage.jsp<%@ page contentType="text/html;charset=gb2312"%><%@ page isErrorPage="true"%>页面产生异常,异常信息如下:${exception.message}为页面指定异常处理文件要想让页面产生异常的时候,由专门的异常处理文件对异常进行处理,需要在该页面中使用page指令的errorPage指定专门的异常处理界面,格式如下:<%@ page errorPage="异常处理文件"%>假设要设置前面编写的errorPage.jsp页面为当前页面的异常处理文件,可以使用下面的代码:<%@ page errorPage="errorPage.jsp"%>3 通过web.xml进行配置

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...