欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

自定义404错误页面

程序员文章站 2022-05-28 13:58:46
...

 为了让程序具有更好的友好型,这是一个应该实现的细节。配置起来很简单,在项目的web.xml文件中配置如下信息:

<error-page>
  <error-code>404</error-code>
  <!--指定404.jsp页面文件在WebContent根目录下--> 
  <location>/404.jsp</location>
</error-page>

 目录结果如下图:
自定义404错误页面
            
    
    博客分类: 搭建SSH(Struts2、Spring3、Hibernate4)遇到的问题 自定义404错误页面 

struts2配置文件struts.xml无需任何配置。

但在实际运行中,运行界面却出现如下图的现象:
自定义404错误页面
            
    
    博客分类: 搭建SSH(Struts2、Spring3、Hibernate4)遇到的问题 自定义404错误页面 
 这个现象说明确实是发生了404错误,但是并未指定到自己定义的404页面,为什么?路径错误了吗?仔细检查路径是对的。通过在IE浏览器的“工具->Internet选项->高级”进行如下设置来解决:
自定义404错误页面
            
    
    博客分类: 搭建SSH(Struts2、Spring3、Hibernate4)遇到的问题 自定义404错误页面 
 将“显示友好http错误信息”前面的勾去掉即可看到自己定义的404错误页面,如下:
自定义404错误页面
            
    
    博客分类: 搭建SSH(Struts2、Spring3、Hibernate4)遇到的问题 自定义404错误页面 
 
 web.xml配置补充:

    <!-- 默认的错误处理页面 -->  
    <error-page>  
        <error-code>403</error-code>  
        <location>/403.html</location>  
    </error-page>  
    <error-page>  
        <error-code>404</error-code>  
        <location>/404.html</location>  
    </error-page>  
    <!-- 仅仅在调试的时候注视掉,在正式部署的时候不能注释 -->  
    <!-- 这样配置也是可以的,表示发生500错误的时候,转到500.jsp页面处理。 -->  
    <error-page>   
        <error-code>500</error-code>   
        <location>/500.html</location>   
    </error-page>   
      
    <!-- 这样的配置表示如果jsp页面或者servlet发生java.lang.Exception类型(当然包含子类)的异常就会转到500.jsp页面处理。 -->  
    <error-page>   
        <exception-type>java.lang.Exception</exception-type>   
        <location>/500.jsp</location>   
    </error-page>   
      
    <error-page>   
        <exception-type>java.lang.Throwable</exception-type>   
        <location>/500.jsp</location>   
    </error-page>  
    <!--   
    重要说明:当error-code和exception-type都配置时,exception-type配置的页面优先级高  
    即出现500错误,发生异常Exception时会跳转到500.jsp  
     -->

如果配置的是html时,不用另做配置;如果配置的是Jsp时,需要把isErrorPage设置为true,
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8" isErrorPage="true"%>

jsp页面如下:

<%@page import="java.io.PrintStream"%>  
<%@page import="java.io.ByteArrayOutputStream"%>  
<%@ include file="WEB-INF/views/includes/tags.jsp"%>  
<%@ page language="java" contentType="text/html; charset=UTF-8"  
    pageEncoding="UTF-8" isErrorPage="true"%>  
<!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>500服务器内部错误</title>  
</head>  
<body>  
    <div class="ui-alert-panel">  
        <h1>服务器内部错误</h1>  
        <p>处理您的请求时发生错误!请确认您通过正确途径操作。</p>  
    </div>  
    <div style="display:none;">  
      <%  //此处输出异常信息  
        exception.printStackTrace();  
  
        ByteArrayOutputStream ostr = new ByteArrayOutputStream();  
        exception.printStackTrace(new PrintStream(ostr));  
        out.print(ostr);  
      %>  
    </div>  
</body>  
</html> 

 

 

  • 自定义404错误页面
            
    
    博客分类: 搭建SSH(Struts2、Spring3、Hibernate4)遇到的问题 自定义404错误页面 
  • 大小: 8.7 KB
  • 自定义404错误页面
            
    
    博客分类: 搭建SSH(Struts2、Spring3、Hibernate4)遇到的问题 自定义404错误页面 
  • 大小: 73.4 KB
  • 自定义404错误页面
            
    
    博客分类: 搭建SSH(Struts2、Spring3、Hibernate4)遇到的问题 自定义404错误页面 
  • 大小: 47.7 KB
  • 自定义404错误页面
            
    
    博客分类: 搭建SSH(Struts2、Spring3、Hibernate4)遇到的问题 自定义404错误页面 
  • 大小: 55.6 KB