2016-07-20 5 views
1

JSP 파싱 및 실행시 예외를 표시하고 싶습니다.Jetty에 사용자 정의 오류 페이지가 표시되지 않습니다.

하지만 작동하지 않습니다. 내가 틀린 게 뭐야?

나는 page 지시어에 errorPage를 사용하는 것이 내 문제를 해결하는 해결책 중 하나라는 것을 알고있다. 하지만 모든 파일을 편집하고 싶지는 않습니다.

이렇게 web.xml을 편집했습니다.

web.xml을

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

내 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> 

예외는 JSP가 여기에 발생했습니다.

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

서블릿 엔진 3.1

JSP 엔진 2.3

응용 프로그램 서버 부두/9.2.15 부두 로그에서 .v20160210

예외

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

* 작동하지 않음 *은 무엇입니까? 어떤 오류? – sidgate

+0

당신이 얻고있는 결과는 무엇입니까? 여전히 NullPointerException을 표시합니까? –

+0

부두에서 NullPointerException이 발생했습니다. 페이지 내용이 비어 있습니다. (오류가 아님) – sekitaka

답변

-1

나는 한 번 오류 처리의이 종류를 사용했다. 그러나 * .jsp 페이지를 오류 페이지 위치로 사용할 수 있는지 확실하지 않습니다. 서블릿 일 필요는 없습니까?

<!-- 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

JSP는 일단 컴파일되면 서블릿입니다. ' /path/to/error.jsp'에서 서블릿 경로를 참조하면됩니다. 'RequestDispatcher'를 사용하여 에러를 JSP에 전달하는 공식'ErrorServlet'을 가질 수도 있습니다. –

+0

답변 해 주셔서 감사합니다. 하지만 지금은 jsp를 사용하여 찾고 있어요. – sekitaka