统一的http错误页面

时间:2013-09-05 18:10:44

标签: tomcat liferay http-error

我想让我的所有http错误页面都统一,以便使用我的网站主题显示它们。 liferay似乎正在处理一些错误并忽略其他错误,将其留给tomcat以其众所周知的格式tomcat 403显示它们。现在404例如由liferay处理。它由status.jsp显示,并且与我网站的其余部分具有相同的主题。 status.jsp似乎只支持一些错误消息,如404和500.我的想法是在ROOT / WEB-INF / web.xml中添加更多错误代码,如401,403,405等。我可以将所有这些指向一个类似

的jsp ROOT / errors / error.jsp
<body onload="javascript:location.replace('http://localhost:8080/c/portal/status?err=<%= pageContext.getErrorData().getStatusCode() %>&uri=<%= pageContext.getErrorData().getRequestURI() %>')">

这样我就可以在status.jsp中获得一些必要的数据。并且可以使用覆盖原始status.jsp的挂钩显示包含http代码和导致它的URI的消息。

现在,这是实现统一状态页面的合理方式吗?有没有更好的办法?

1 个答案:

答案 0 :(得分:0)

您可以在web.xml中定义错误页面。指的是将使用准备好的数据委托给JSP的不同控制器。永远不要在JSP中使用scriptlet。