自定义错误处理程序页面 | AEM
要在Adobe Experience Manager中设置自定义错误处理程序以呈现不同的HTTP错误,请将自定义脚本从/libs/sling/servlet/errorhandler复制到/apps.下的同一位置
描述 description
环境
Adobe Experience Manager
问题/症状
如何创建呈现不同HTTP错误的自定义脚本或错误处理程序?
解决方法 resolution
默认错误处理程序脚本位于/libs/sling/servlet/errorhandler下。
您可以通过将要自定义的脚本从/libs/sling/servlet/errorhandler复制到/apps下的同一位置(即/apps/sling/servlet/errorhandler)来覆盖默认错误处理。 如果该路径不存在(默认不存在),请创建该路径。
例如,您可以通过将/libs/sling/servlet/errorhandler/404.jsp复制到/apps/sling/servlet/errorhandler/404.jsp来自定义404错误的处理
http 500 错误是由服务器端异常引起的。 当请求处理导致异常时,Apache Sling框架CQ将基于该异常的日志,并在响应正文中返回 http错误代码500 和异常栈栈跟踪。
要处理500个错误,错误处理程序脚本的文件名必须与异常类(或其超类)相同。 例如,若要处理所有异常,请创建一个脚本/apps/sling/servlet/errorhandler/Throwable.jsp。
请参阅Sling错误处理以获取更多信息。
注意: 仅当显式执行 HttpServletResponse.sendError(500)(即从异常捕获器)时,才使用500.jsp。否则,仅将响应代码设置为500,但不执行500.jsp。 在这种情况下,您可以添加 Exception.jsp 来处理所有此类异常。
注意: 在创作实例上,默认启用CQ WCM调试筛选器。 这始终会导致响应代码200,并采用将完整栈栈跟踪写入响应的默认Errorhandler。 在发布实例上, CQ WCM调试过滤器始终处于禁用状态(如果您将其配置为启用也会如此)。