首页 > 代码库 > 关于Java Web工程中web.xml文件
关于Java Web工程中web.xml文件
提及Java Web工程中web.xml文件无人不知,无人不识,呵呵呵:系统首页、servlet、filter、listener和设置session过期时限,张口就来,可是你见过该文件中的error-page标签吗?下面直接以例子的形式说明error-page标签的使用:
一个servlet文件:
package com.ghj.packageofservlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 故意发生异常
*
* @author GaoHuanjie
*/
public class ExceptionServlet extends HttpServlet {
private static final long serialVersionUID = -8602055287059392677L;
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Object object = null;
System.out.println(object.toString());
}
}
一个web.xml文件:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/exception.jsp</location>
</error-page>
<servlet>
<servlet-name>ExceptionServlet</servlet-name>
<servlet-class>com.ghj.packageofservlet.ExceptionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ExceptionServlet</servlet-name>
<url-pattern>/ExceptionServlet</url-pattern>
</servlet-mapping>
</web-app>
一个404页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"isErrorPage="true"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>404页面</title>
<style type="text/css">
a:link {
color: #555555;
text-decoration: none
}
a:visited {
color: #555555;
text-decoration: none
}
a:active {
color: #555555;
text-decoration: none
}
a:hover {
color: #6f9822;
text-decoration: none
}
.text {
font-size: 12px;
color: #555555;
font-family: "";
text-decoration: none
}
</style>
</head>
<body>
<table height="100%" cellSpacing="0" cellPadding="0" width="100%" align="center" border="0">
<tbody>
<tr>
<td valign="middle" align="center">
<table cellSpacing="0" cellPadding="0" width="500" align="center" border="0">
<tr>
<td width="17" height="17"><img height="17" src=http://www.mamicode.com/"images/co_01.gif" width="17">
<td width="316" background="images/bg01.gif"></td>
<td width="17" height="17"><img height="17" src=http://www.mamicode.com/"images/co_02.gif" width="17">
</tr>
<tr>
<td background="images/bg02.gif"></td>
<td>
<table class="text" cellSpacing="0" cellPadding="10" width="100%" align="center" border="0">
<tr>
<td>
<table cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr>
<td><img height="66" src=http://www.mamicode.com/"images/404error.gif" width="400">
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table class="text" cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr>
<td>
<p>
<strong><font color="#ba1c1c">HTTP404错误:</font></strong>
没有找到您要访问的页面,请与管理员联系。
</p>
<div align="right">管理员QQ:845129726 </div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td background="images/bg03.gif"></td>
</tr>
<tr>
<td width="17" height="17"><img height="17" src=http://www.mamicode.com/"images/co_03.gif" width="17">
<td background="images/bg04.gif" height="17"></td>
<td width="17" height="17"><img height="17" src=http://www.mamicode.com/"images/co_04.gif" width="17">
</tr>
</table>
</td>
</tr>
</tbody>
</table>
</body>
</html>
一个处理异常页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>异常页面</title>
</head>
<body>
<table cellSpacing="0" width="600" align="center" border="0" cellpadding="0" style="margin-top: 18%">
<tbody>
<tr>
<td valign="top" align="center"><img height="100" src=http://www.mamicode.com/"images/exception.png" width="100" border="0">
<td>
<font style="font-size: 10pt;color: #842b00;">HTTP错误 505:系统出现异常,暂停服务。</font>
</td>
</tr>
</tbody>
</table>
</body>
</html>
工程说明:
本工程用于演示web.xml文件中error-page标签的使用
本工程编码方式:UTF-8
演示说明:
①、http://localhost:8080/test/index.jsp ——>演示404页面
②、http://localhost:8080/test/ExceptionServlet ——>演示异常页面
③、注意上面红底处的代码
④、如果把上面两个页面(一个404页面和一个处理异常页面)的代码很简洁(比如body标签中就一句30或40个字符的话),在IE浏览器中进行上面访问,你会发现页面显示的是IE浏览器自身的“报错”页面,怎样使用自己的网页呢,最好的办法是在含有红底处代码的前提下增加页面的大小!
【下载源码】