Java web 项目中配置全局错误页面

来源:互联网 发布:java学生信息系统 编辑:程序博客网 时间:2024/04/28 10:08

Global error.jsp

背景:在一个老项目(12年以上 )中添加全局错误处理页面,当出现404, 500等Error时转到error.jsp页面,需求挺简单,过程有些坑。

  • Web.xml
  • error.jsp
  • K E N G

Web.xml

    <error-page>        <exception-type>500</exception-type>        <location>/error.jsp</location>    </error-page>    <error-page>        <exception-type>404</exception-type>        <location>/notfound.jsp</location>    </error-page>

error.jsp

  • Location

    /webroot/error.jsp

  • File content

<%@ page language="java" contentType="text/html; charset=Utf-8"isErrorPage="true"    pageEncoding="Utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=Utf-8"><title>Global Error</title></head><body>There are some errors!</body></html>

error.jsp

本以为轻松搞定,测试时却发现无论是出现404还是500都不能跳转到error.jsp

求助搜索,得到以下信息:

  1. 确保error-page 中location属性填写的是绝对路径
  2. 确保error.jsp的大小 > 1024byte
  3. 确保error.jsp 页面中添加 isErrorPage=”true”

当我的设置都达到这三点时,问题依然,无论是出现404还是500都不能跳转到error.jsp

继续搜索,发现几篇不同blog中谈到的error.jsp的大小不一致,由人说512byte,有人说1024byte,还有人说要 1XX KB

然后我就在页面中添加了一个不可见的DIV,在里面添加一些无用的内容,使得error.jsp达到了19KB

再然后问题解决了,出现404和500时跳转到error.jsp (⊙﹏⊙)b

0 0
原创粉丝点击