benutzerdefinierte 503-Fehler-Seite geworfen vom servlet java

Dies ist ziemlich einfach und unkompliziert. Ich möchte zu werfen, ein 503-Fehler von der servlet-Seite.

response.sendError(503); 

Wenn dieser geworfen wird, muss ich es auf einen benutzerdefinierten Fehlerseiten -. Im Grunde ein 503-Fehler-Seite selbst, aber mit ein paar Modifikationen.

Sagen, ich habe 503.html, und ich fügte

<error-page>
    <error-code>503</error-code>
    <location>/503.html</location>
</error-page>

in web.xml.

Erstellte ich eine war-Datei, mit einem servlet die Würfe der 503 Fehler, und web.xml mit diesem Inhalt. Ich hielt die 503.html im übergeordneten Ordner. (Sollte ich es woanders ?)

Verwendete ich die app in der WLS, aber dieser Brauch 503.html ist nicht immer Treffer. Ich bin immer der generische 503-Fehler.

Bin ich etwas fehlt?

Mein code ist unten:

webapp1.Krieg

->web-inf

->web-inf->Klassen->prject4->Class1.class

->web-inf->jsp->Fehler->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); 
   }
}
  • Was meinst du mit "übergeordneten Ordner"? wenn Sie es konfiguriert als "/503.html" Sie sollten die html-Seite direkt unter dem root-Ordner.
  • ja die /503.html ist immer direkt auf den root-Ordner, Seite an Seite mit dem WEB-INF-Ordner.
  • Bitte ziehen Sie Ihre Datei-Struktur.
  • geändert die Frage.
  • sind Sie mit WL als application-server mit einem anderen web-server?
  • Nein , bin mit wls als der server. bereitstellen von Anwendungen auf einem verwalteten server direkt.

InformationsquelleAutor Tom | 2011-03-25
Schreibe einen Kommentar