1
引言:
在java web项目中,有时我们需要在错误发生时,给出用户提示信息,或者显示站点维护者信息,再或者将错误替换为另一种表达以舒缓情绪。这时可以采用web.xml的error-page标签来实现。由于相关资料较多,此篇只为简单指引。 需要强调的是,error-page只要是一个java web项目便会支持,而不需要考虑框架插件等的引入。 正文: 一、按错误号指定跳转。 1)创建错误处理页。 创建“/WEB-INF/404.html”(或者“/404.html”)。打开“404.html”,添加维护者联系方式。 2)添加error-page标签。 向“web-app”添加“error-page”子结点,内容如下:- <error-page>
- <error-code>404</error-code>
- <location>/WEB-INF/404.html</location>
- </error-page>
3)部署测试。 随手输入一个不存在的url地址。可以看到404.html被正确显示。 注: 将404.html放在WebRoot/下或者WebRoot/WEB-INF/下均可。 二、按异常类型指定跳转。 1)创建异常处理页(以空指针异常为例)。 A)创建servlet“Hello”在默认包“src/”目录下。 B)修改doGet(,)直接调用this.doPost(,)。 C)在doPost(,)中插入注释间的2行代码。如下所示
- out.println(", using the POST method");
- // test snippet
- Object obj = null;
- out.println(obj.toString());
- // <-test
- out.println(" </BODY>");
手工制作一个NullPointerException。 D)创建“nullPointerException.html”,并在内容中写入“nullPointerException”。 2)添加error-page标签。 A)添加servlet配置如下:
- <servlet>
- <servlet-name>Hello</servlet-name>
- <servlet-class>Hello</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>Hello</servlet-name>
- <url-pattern>/servlet/Hello</url-pattern>
- </servlet-mapping>
B)添加error-page:
- <error-page>
- <exception-type>java.lang.NullPointerException</exception-type>
- <location>/WEB-INF/nullPointerException.html</location>
- </error-page>
3)部署测试。 重部署后,访问“http://localhost:8080/myJavaWeb/servlet/Hello”。便可看到“nullPointerException.html”页的内容。 (完结)