這非常簡單直接。我想從servlet端引發一個503錯誤。從servlet java中拋出自定義503錯誤頁面
response.sendError(503);
當這被拋出時,我需要它來打一個自定義的錯誤頁面。基本上是一個503錯誤頁面,但有一些修改。
說我有503.html
,我在web.xml
添加
<error-page>
<error-code>503</error-code>
<location>/503.html</location>
</error-page>
。
我創建了一個war文件,帶有一個引發503錯誤的servlet,以及web.xml
與這個內容。我將503.html
保存在父文件夾位置。 (我應該把它保存在其他地方嗎?)
我在WLS中部署了應用程序,但是這個自定義503.html
沒有受到影響。我得到了通用的503錯誤。
我錯過了什麼嗎?
我的代碼如下:
webapp1.war
- > WEB-INF
- > WEB-INF-γ>類 - > prject4-> Class1.class
- > web-inf-> jsp-> error-> custom.html
web.xml
<?xml version="1.0"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>Class1</servlet-name>
<servlet-class>project2.Class1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Class1</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<error-page>
<error-code>503</error-code>
<location>/WEB-INF/jsp/error/custom.html</location>
</error-page>
</web-app>
class1.java
public class Class1 extends HttpServlet
{
private ServletConfig config;
public void init(ServletConfig config)throws ServletException
{
this.config=config;
}
public void service (HttpServletRequest request, HttpServletResponse response)
throws IOException
{
response.setContentType("text/html");
ServletOutputStream l_out = response.getOutputStream();
response.sendError(503);
}
}
你是什麼意思的「父文件夾位置」?如果您將其配置爲「/503.html」,則應該將html頁面放在根文件夾下。 – didxga 2011-03-25 11:18:08
@didxga是/503.html保存在根文件夾中,與WEB-INF文件夾一起。 – Tom 2011-03-25 11:19:40
請畫出你的文件結構。 – didxga 2011-03-25 11:37:59