2016-07-20 34 views
1

Ich möchte Exception bei JSP Parsing und läuft zeigen.Benutzerdefinierte Fehlerseite wird in Jetty nicht angezeigt

Aber funktioniert nicht. Was mache ich falsch?

Ich weiß, die Verwendung von errorPage auf der Seite Richtlinie ist eine der Lösungen, um mein Problem zu lösen. Aber ich möchte nicht alle Dateien bearbeiten.

Ich bearbeitet web.xml wie folgt. hier

web.xml

<error-page> 
    <exception-type>java.lang.Throwable</exception-type> 
    <location>/exception.jsp</location> 
</error-page> 

ist mein exception.jsp.

exception.jsp

<%@ page isErrorPage="true" language="java" contentType="text/html;charset=SHIFT_JIS" pageEncoding="SHIFT_JIS" %> 
<h1> 
    <%= exception %> 
</h1> 
<pre> 
    <% exception.printStackTrace(new java.io.PrintWriter(out)); %> 
</pre> 

Ausnahme aufgetreten jsp hier ist.

index.jsp

<%@ page contentType="text/html; charset=SJIS" %> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<html> 
    <head></head> 
    <body> 
    <% String a = null; a.toString(); %> 
    </body> 
</html> 

ENV

Servlet Engine 3,1

JSP-Engine 2,3

Application Server Anlegesteg/9.2.15 .v20160210

Ausnahme von Anlegesteg log

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 6 

3: <html> 
4: <head></head> 
5: <body> 
6:  <% String a = null; a.toString(); %> 
7: </body> 
8: </html> 


Stacktrace: 
     at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568) 
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470) 
     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:405) 
[...] 
Caused by: java.lang.NullPointerException 
     at org.apache.jsp.index_jsp._jspService(index_jsp.java:572) 
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 
     ... 63 more 
+0

was meinst du mit * nicht funktioniert *? irgendein Fehler? – sidgate

+0

Was ist die Ausgabe, die Sie bekommen? zeigt immer noch die NullPointerException? –

+0

Ich habe NullPointerException auf Jetty Log. Seiteninhalt ist leer. (Kein Fehler) – sekitaka

Antwort

-1

ich einmal diese Art der Fehlerbehandlung verwendet. Aber ich bin mir nicht sicher, ob Sie eine * .jsp-Seite als Fehlerseite verwenden können. Muss es nicht ein Servlet sein?

<!-- servlet definition --> 
<servlet> 
    <servlet-name>ErrorHandler</servlet-name> 
    <servlet-class>ErrorHandler</servlet-class> 
</servlet> 
<error-page> 
    <exception-type>java.lang.Throwable</exception-type > 
    <location>/ErrorHandler</location> 
</error-page> 
+0

JSPs, sobald kompiliert, sind Servlets. Verweisen Sie einfach auf den Servlet-Pfad in Ihrem ' /path/to/error.jsp'. Sie können auch ein formales 'ErrorServlet' haben, das nur den' RequestDispatcher' verwendet, um den Fehler in Ihre JSP zu leiten. –

+0

Danke für Ihre Antwort. Aber jetzt suche ich nach jsp way. – sekitaka