栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JSP Servlet中的最佳实践错误处理

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JSP Servlet中的最佳实践错误处理

对于被认为是不可恢复的错误(例如数据库连接问题),这些类型的错误通常在应用程序的最高层捕获,并在单个位置处理。许多框架会将这些转换为未经检查的样本,以避免中间层不得不处理它们。

对于这些不可恢复的异常,通常您会向用户显示一个用户友好且相当通用的错误页面,并将堆栈跟踪信息(包含更多详细信息)发送到日志文件,以供系统管理员和/或开发人员查询。

Servlet规范提供了一种通过

web.xml
via
error-page
标签处理错误的方法。

如果您使用的是Servlet 3.0或更高版本,则

web.xml
可以在其中添加:

<error-page>    <location>/error.html</location></error-page>

这将捕获所有未处理的异常,并将它们发送到

error.html
webapp根目录中的页面。

在servlet规范的早期版本中,您必须指定异常类型或错误代码(您仍然可以执行此操作以进行更细粒度的错误处理):

<error-page>    <exception-type>java.lang.Exception</exception-type>    <location>/error.html</location></error-page>

要么:

<error-page>    <error-pre>500</error-pre>    <location>/error.html</location></error-page>

和:

<error-page>    <error-pre>404</error-pre>    <location>/notFound.html</location></error-page>

另外,如果您需要在错误页面中进行动态处理,则可以转发到另一个JSP(或另一个servlet):

<error-page>    <error-pre>500</error-pre>    <location>/WEB-INF/jsp/error.jsp</location></error-page>

如果您需要从错误页面内部访问异常(也许您想显示异常所保存的某些特定数据,例如代码),则可以通过

javax.servlet.error.exception
request属性访问原始异常:

Throwable throwable = (Throwable) request.getAttribute("javax.servlet.error.exception");

如果您的应用程序正在增长,则最好迁移到MVC框架(例如Spring
MVC)
,这将使您的应用程序的构建更易于管理,此外,它还将提供一致且定义明确的错误处理机制。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466651.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号