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”页的内容。
(完结)