如何在Java MVC Web应用程序中处理/记录错误?

Jam*_*hon 1 java error-handling model-view-controller web-applications exception

我目前正在使用一个非常简单的MVC框架,即Bear Bibeault的Front Man,对于那些不熟悉的人来说,它与Spring MVC非常相似(至少在概念上).我遇到的一个问题是如何正确处理异常.

我目前正在做这样的事情,

try {
    //do something
}catch (Exception ex) {
    logger.error("Logging error", ex);
    Map model = new HashMap();
    model.put("error", ex.getLocalizedMessage());
    cc.setScopedVariable("model", model);
    cc.forwardToView(ERROR_VIEW);
}
Run Code Online (Sandbox Code Playgroud)

基本上我记录异常,然后转发到错误视图页面.

然而,这让我觉得不是正确的方法.它导致很多样板代码不是很干.

在Web应用程序中处理/记录异常的更好方法是什么?

sch*_*ibk 5

您可以在错误JSP文件中执行所有日志记录.

将其添加到您的web.xml文件中.

<error-page> 
<exception-type>java.lang.Throwable</exception-type> 
<location>/error.jsp</location> 
</error-page>
Run Code Online (Sandbox Code Playgroud)

在你的jsp文件中添加

<%@page isErrorPage="true" %>
Run Code Online (Sandbox Code Playgroud)

然后,您可以将记录放在里面<% %>并同时显示错误.您的所有日志记录逻辑都在一个位置,您的代码将开始变得更清晰.


您可以将位置指向servlet,而不是在JSP文件中使用scriptlet.servlet可以处理所有处理,然后转发到JSP页面.

您还可以将此技术用于不同的异常,因此您可以以不同方式处理异常.