Java Web应用定制错误页面

来源:互联网 发布:淘宝新品上架无线链接 编辑:程序博客网 时间:2024/06/06 07:22
  • 错误现象

在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> 
根据应用要求配置,重新打包、部署和启动后,测试即可。

原创粉丝点击