您的位置:首页 > 编程语言 > Java开发

Java Web应用定制错误页面

2013-07-17 23:04 627 查看
错误现象

在Web站点,难以避免用户输入错误的URL,去访问一个不存在的文件,这样就会导致404错误;

也难免用户输入错误的密码,导致不能通过认证,产生401错误。

类似地,还有一些其他的错误代码。

解决方法

通常情况下,Web服务器和应用服务器都配置了默认错误页面,这些页面会正确地告诉你Server的信息和错误的具体信息。正是这一点,在一些正规的IT公司,很可能成为一个违例。因为这些信息中包括的服务器类型信息、版本信息以及应用路径等信息,可能被黑客利用来攻击这个服务器或者应用。这些正规的公司会要求应用不能使用默认配置的页面,那就必须自定义。那应该怎么样去自定义呢?

以现在的典型Web应用,可以分两步解决这个问题。第一、在Web服务器上定制;第二、在应用程序上定制。

以404为例,文件不存在,分为两种:

a) 这个路径是Web服务器上的;第一步就是解决这一类问题。

b) 这个路径已经映射到应用程序;这是第二步解决的问题。

1. 配置WEB服务器

这里用的是apache服务器。编辑<apache_home>/conf/httpd.conf.

找到如下配置,如下图



图1 WEB服务器配置项

去掉注释符号。在web服务器的document root目录下,确保对应的文件存在。如果没有,按应用的要求创建一个;如果已经有了,按应用的要求,修改即可。

然后重启WEB服务器,并输入一不存在的URL, 检查出404错误时,是否是当前配置的文件。

2. 配置应用程序

如果URL指向应用程序中一个不存在的文件,应用服务器立刻检查当前WEB应用的配置,如果已经配置了应该转向的错误页面,则转向该页面;否则调用应用服务器的默认页面。

应用服务器检查WEB-INF/web.xml里的类似如下配置:

<error-page>
<error-code>404</error-code>
<location>/building.jsp</location>
</error-page>

<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page> 根据应用要求配置,重新打包、部署和启动后,测试即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  404 401 定制HTML错误