404,50x这种错误经常遇到。

如果%CATALINA_HOME%\conf\web.xml和具体应用中都有设置%CATALINA_HOME%\webapps\ROOT\WEB-INF\web.xml

则应用中的生效。

如何设置一个友好的用户体验,以windows环境为例:

添加发生异常时,默认的文件,文件位置如下(如果没有设置reloadable为true或autoDeploy="true",则需要重启tomcat让更改的web.xml生效):

(1)%CATALINA_HOME%\conf\web.xml中web-app节点中添加

    <error-page>
<error-code>404</error-code>
<location>/notFileFound.jsp</location> <!--定义的页面,必须以“/”开头-->
</error-page>

效果展示:
正常情况:

出现404时的场景:

%CATALINA_HOME%\webapps\ROOT\notFileFound.jsp

(2)%CATALINA_HOME%\webapps\ROOT\WEB-INF\web.xml中web-app节点中添加和(1)中相同格式的内容,
为了方便演示,此处使用404.html


看看不存在时的效果:

360浏览器对tomcat的配置的404有屏蔽作用:

如果想让报404时直接跳转,则可以在404.html中增加一个跳转的动作即可:

<html>
<head>
<meta http-equiv="Content-Language" content="zh-CN">
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<meta http-equiv="refresh" content="0.1;url=http://www.cnblogs.com">
<title></title>
</head>
<body>
</body>
</html>

3.不仅可以根据html的错误代码来条转页面,也可以按异常类型来进行跳转,例如:

<error-page>  
<exception-type>javax.servlet.ServletException</exception-type>
<location>/errorhandler.jsp</location>
</error-page>

不仅可以使用jsp内置exception对象来取得异常,也可以取得request中的attribute。例如:

<%@page contentType="text/html;charset=Big5" isErrorPage="true"%>  
<html>
<head><title>错误信息</title></head>
<body>
错误码: <%=request.getAttribute("javax.servlet.error.status_code")%> <br>
信息: <%=request.getAttribute("javax.servlet.error.message")%> <br>
异常: <%=request.getAttribute("javax.servlet.error.exception_type")%> <br>
</body>
</html>

http://www.cnblogs.com/yjhrem/articles/2206878.html

Tomcat中配置自定义404错误页面的更多相关文章

  1. 在ASP.NET MVC3项目中,自定义404错误页面

    在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中 ...

  2. Nginx配置error_page 404错误页面

    问题由来 昨天一网友在segmentfault.com上提问,无法做404重定向 打开对方的网站随便输入一个错误的地址发现给出了404代码,但是页面完全空白,并没有显示404页面的设定内容 当时就明白 ...

  3. apache下自定义404错误页面

    404页面的目的是:告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开. 很多开源系统包括CMS系统.Blog系统等不提供404页面或提供的404页面并未达到SE ...

  4. apache 自定义404错误页面

    1.有些提供web服务的网站,在用户访问一个不存在的网站文件时,会提示404错误,如下所示: 现在要求自定义一个错误页面,也就是出现404错误代码时,跳转到我们自定义的网址上.下面记录下方法: 1.编 ...

  5. django中自定义404错误页面

    自定义404页面,如下5个步骤:1)使用自定义的404页面,必须在setting文件修改DEBUG = False(即关闭debug调试模式)2)必须在setting文件修改ALLOWED_HOSTS ...

  6. lnmp 在nginx中配置相应的错误页面error_page

    1. 创建自己的404.html页面 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或单独网站配置文件, ...

  7. javaWeb项目配置自定义404错误页

        1.情景展示 为了隐藏tomcat版本信息以及显示更友好的错误信息提示,如何将404的错误跳转到指定页面? 2.解决方案 第一步:修改项目的web.xml 将如下代码添加到</web-a ...

  8. ASP.NET 在IIS7.5下自定义404错误页面的方法

    .net 4.0 本机调试时一切正常,配置如下     <customErrors redirectMode="ResponseRewrite" mode="On& ...

  9. 在Tomcat中配置404自定义错误页面详解

    这篇文章主要介绍了在Tomcat中配置404自定义错误页面全解,需要的朋友可以参考下 一直使用tomcat,今天想到一个问题,自定义404错误页面, 为了获得很好的用户感受,是不应当向用户暴露404这 ...

随机推荐

  1. MongoDB(三)mongoDB下载和安装

    软件下载 下载mongodb最新的包:http://www.mongodb.org/downloads 下载mongodb可视化界面,mongoVUE:http://download.csdn.net ...

  2. 一、Cocos2dx在visualStudio或者vc++中环境搭建(入门篇)

    本文由qinning199原创,转载请注明:http://www.cocos2dx.net/?p=106 0.概述 Cocos2dx-win32的项目能够被向导生成 向导支持vs2008,vs2010 ...

  3. Mac下搭建SVN服务器

    1.检查机器上是否安装svnserve zhangdeqiangdeiMac:Downloads hengjiang$ svnserve --version svnserve, version (r1 ...

  4. activemq demo指南

    queue与topic的技术特点对比   topic queue 概要 Publish Subscribe messaging 发布订阅消息 Point-to-Point 点对点 有无状态 topic ...

  5. Android 开发笔记 “Sqlite Cursor 使用”

    使用过 SQLite 数据库的童鞋对 Cursor 应该不陌生,如果你是搞.net 开发你大可以把Cursor理解成 Ado.net 中的数据集合相当于dataReader.今天特地将它单独拿出来谈, ...

  6. mybatis foreach where test用法

    <select id="selectAny" resultType="user" parameterType="user"> s ...

  7. ajax Session失效如何跳转到登录页面

    在Struts应用中,我们发出的请求都会经过 相应的拦截器进行相关处理,一般都会有一个用户登录拦截(Session失效拦截):一般请求的话,如果Session失效时,我们会跳到登录页面,可是如果我们采 ...

  8. zookeeper集群搭建设置

    zookeeper 官网:http://zookeeper.apache.org/ 现在最新版本是 3.4.6 ,但是这个版本我没有运行起来,可能是那配置出现问题了,现在我用的是3.4.5 http: ...

  9. DllMain加载其他DLL造成的死锁问题及其解决办法

    使用VS 2008新建一个MFC ActiveX工程,因为在工程里要用到GDI+.我习惯把初始化GDI+库的代码放在应用程序类的InitInstance函数,对应的销毁代码放在ExitInstance ...

  10. Poj 2371 Questions and answers(排序)

    题目链接:http://poj.org/problem?id=2371 思路分析:使用计数排序或其他时间复杂度为O( log N )的排序. 代码如下: #include <iostream&g ...