首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Grails自定义错误页(500) & Tomcat

Grails自定义错误页(500) & Tomcat
EN

Stack Overflow用户
提问于 2010-06-07 22:05:48
回答 2查看 2.2K关注 0票数 4

在Grails代码抛出任何未处理的异常之后,我正在尝试实现简单的自定义错误页面。我已经将500映射到我的控制器:

代码语言:javascript
复制
    "500" (
        controller: "error",
        action:     "serverError"
    )

并在控制器中处理异常:

代码语言:javascript
复制
def serverError = {
    try {
        // first check, if some exception was reported
        if (!request.exception) {
            return
        }

        // send mail with stack trace if requested
        if (shouldSendErrorReports) {
            log.debug "Mail was sent out successfully..."
        }

    } catch (Throwable e) {
        log.error "Error while reporting an error: " + e
    }

    // redirect to error message
    redirect (
        action: "errorMessage"
    )
}
// lines omitted for clarity

"errorMessage“操作只是一个简单的视图,默认情况下使用静态内容呈现GSP页面--信息和单击重定向窗口。页面有(我希望)正确的prolog:

代码语言:javascript
复制
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page isErrorPage="true" %>

现在,当通过NetBeans (Jetty)在本地测试它时,一切正常,并显示errorMessage页面;当部署到测试环境(Tomcat6)时,将显示Tomcat stack-trace。

如何防止这个Tomcat堆栈跟踪被显示?我有两个想法--首先,我真的没有正确地抛弃(处理?)异常,所以它冒泡到Tomcat --第二,Tomcat设置了一些配置值,所以无论如何它都会显示堆栈跟踪。

如果你对此有任何想法,请让我知道。花5个小时弄清楚这一点...:-/

谢谢!

EN

Stack Overflow用户

发布于 2010-06-07 22:36:28

定义错误={定义异常= request'javax.servlet.error.exception'?.cause?.cause if(异常){

代码语言:javascript
复制
        }       
    }
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2990173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档