Displaying JSP error page in tomcat 5.5.7

I'm using tomcat 5.5.7 with JDK1.4.1. I've created these 2 JSPs:
index.jsp:
<html>
<title>Jsp</title>
<body>
<%@page errorPage="/error.jsp"%>
Trying to write some error
<% String butt = request.getParameter("butt");
if (butt!=null )
   int p = 4/0;
}%>
<form method="post">
<input type="submit" name="butt" value="head">
</form></body></html> error.jsp:
<html>
<title>Jsp</title>
<body>
<%@ page isErrorPage="true" %>
Error Body
</body></html> When I run this JSP, and try to get the error page, I get internal
server error page, insteaof of error.jsp.
The error_jsp.java file has the following lines:
Throwable exception =
org.apache.jasper.runtime.JspRuntimeLibrary.getThrowable
(request);
if (exception != null) {
response.setStatus
(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
} I tried to run these same files in Tomcat 4.1, and they work fine.
What my be the problem? How can I have my error page be displayed?

Hi,
I do use Tomcat with the compatibility package (jmx.jar under $CATALINA_HOME/bin and xercesImpl.jar under $CATALINA_HOME/common/endorsed).
I've put a System.out.println in the error.jsp, and it was printed to the stdout.log.
Nothing else was printed to the log.
I also tried removing the isErrorPage="true" from the error page, and I got it displayed (when the error occured). But of course that way I would not have any exception object....

Similar Messages

  • Problem accessing exception object in jsp error page - Apache Tomcat 5.0.25

    Hi all,
    I'm thoroughly confused and need some help. I've deployed a very simple web application in Apache Tomcat 5.0.25 to test exception handling - errortest.jsp and error.jsp. errortest.jsp throws a divide by zero exception if executed with default values in text fields.
    When I put the directive IsErrorPage="true" in error.jsp i get a HTTP 500 error when error.jsp is accessed. If I remove it error.jsp is displayed but I cant access the exception object - if I try to I get an exception below:
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: 5 in the jsp file: /error.jsp
    Generated servlet error:
    [javac] Compiling 1 source file
    E:\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\mywebapp\org\apache\jsp\error_jsp.java:46: cannot resolve symbol
    symbol : variable exception
    location: class org.apache.jsp.error_jsp
    out.print(exception.getMessage());
    ^
    1 error
    Below is the code for the two jsp pages:
    errortest.jsp:
    <%@ page errorPage="error.jsp" %>
    <html>
    <head><title>Error test</title></head>
    <body>     
         <form action="errortest.jsp" method="post">
         Enter first number:<input type="text" name="first" value="5"/><br>
         Enter second number:<input type="text" name="second" value="0"/><br>
         <input type="submit"/>
         </form>
         <%
         if (request.getMethod().equals("POST")) {
              int first = Integer.parseInt( request.getParameter( "first" ) );
              int second = Integer.parseInt( request.getParameter( "second" ) );
              int answer = first/second;
         %>
    </body>
    </html>
    NB: I am able to catch and display the exception if I use a try/catch block around the division as shown below.
    try {
    int answer = first/second;
    } catch( Exception e) {
    e.printStackTrace( new PrintWriter(out) );
    error.jsp (first draft)
    NB: HTTP 500 error occurs when directive "isErrorPage" is added:
    <%@ page isErrorPage="true" %>
    <html>
    <head><title>Error Page</title></head>
    <body>
    </body>
    </html>
    error.jsp (second draft)
    NB: directive is removed but exception thrown when implicit exception object is accessed. error.jsp displays if exception object is not accessed:
    <%@ page %>
    <html>
    <head><title>Error Page</title></head>
    <body>
    <%=exception.getMessage()%>
    </body>
    </html>
    Web server specs:
    Apache Tomcat 5.0.25
    Machine specs:
    Windows XP Pro
    Java environments:
    j2sdk1.4.2_03
    J2EE 1.4

    This works for me:
    throwError.jsp
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <%@ page language="java" errorPage="/error.jsp"
    contentType="text/html; charset=utf-8" %>
    <html>
    <head>
         <title>Throw Exception</title>
    </head>
    <body>
    Throwing exception....
    <%
    // throw ArithmeticException
    int badInt = 12/0;
    %>
    </body>
    </html>
    error.jsp
    <%@ page language="java" isErrorPage="true" %>
    <head><title>Doh!</title></head>
    An Error has occurred in this application.
    <% if (exception != null) { %>
    <pre><% exception.printStackTrace(new java.io.PrintWriter(out)); %></pre>
    <% } else { %>
    Please check your log files for further information.
    <% } %>

  • JSP error page does not displayed on its own, includes in the original JSP

    Problem Description: - Exceptions in a Condition cause pages to fail to render.
    The actual issue is, the JSP error page does not displayed on its own, included in the original JSP Page when exception occurs.
    Problem Cause: As per the JSP specification when jsp content reached the buffer size (default 8KB) the page being flushed (Part of condent displays). The default �autoFlush� value is true.
    When the page buffer value is default size (8KB), and if any exception occurs after flushing the part of the content, instead of redirecting into error page, the error page content included in the original page.
    If i specify autoFlush="false" and with default buffer size, at the runtime if the buffer size is reached, i am getting stackoverflow error.
    To solve the above problem we can make it autoFlush=�false� and buffer=�100KB�. But we can�t predict the actual size of the page.
    I found in one of the weblogic forum as no solution for this issue. Ref.
    http://support.bea.com/application?namespace=askbea&origin=ask_bea_answer.jsp&event=link.view_answer_page_clfydoc&answerpage=solution&page=wls/S-10309.htm
    Please provide me any solution to resolve the problem.

    Error-Page tags work best with an error.html pages. If you have an error.jsp page what I would do, and I have, is wrap my classes and jsp pages in a try catch block where you forward to the error jsp page and display anything you want. YOu can also do this with if else statements. I have used the tomcat error pages before but when I've implemented them I used java.lang.Exception as the error to catch not Throwable. I don't know if this would make a difference or have anything to do with your problem.

  • Handle exception on server side and display a customized jsp error page

    Hi,
    I am developing a java/j2EE web application using servlet, jsp, ejb3 with JBOSS and ECLIPSE.
    Two cases can occur on the server side :
    1) either I have not an expected result in a method and in this case I want to display an error page (a JSP page I suppose) with a personnalized error message
    2) or I have an exception thrown and I want to display the exception message in the former JSP page
    I don't know how to cope with this problem of personnalized error message (or the message of a thrown exception) with a JSP page.
    Does anybody can help me ? Thank you
    Edited by: xflamant on Jun 20, 2009 10:51 AM

    For the case of an unknown Error, simply use a default error page.
    The redirection to this page can be accomplished by inserting folowing code into your web.xml:
         <error-page>
            <exception-type>java.lang.Throwable</exception-type>
            <location>/WEB-INF/jsp/error.jsp</location>       
        </error-page>Known exception can be caught via a try-catch block.
    Then simply dispatch to the page you want displayed an add an attribute containing the error message to the response object.
    This attribute can then be used in the target page to diplay the error.

  • Problem in Jsp Error page mechanism

    Hi every body,
    In my Jsp application I do some processing within scriplet tags. I have defined a error page using a page directive and I have defined my Error page separately. When there is an exception in a Jsp page, some times it calls the error page properly and displays it. But curiously in some occasions when there is an exception it doesn't call the error page, instead it includes the content of the Error page at the end of the same page, where the exception occurred. The web server is jakarta-tomcat-3.2.1. Can any one who has a idea about this problem help me. Your help is greatly appreciated.
    Thank you

    Hi there!
    Well I was having the same problem as yours until I realized what was going on: the jsp writer has a small buffer size (by default 8kb) and that is why it flushes some html before displaying the error page. The jsp writer buffer is full before getting the exception, so it flushes the buffer and keeps on writing until the exception is thrown. Then the jsp writer writes the error page code...
    You have to add some new parameters in your page directive: autoFlush(true or false) and buffer="16kb" (as much kbytes as you want). For example,
    <%@page autoFlush="false" buffer="sizekb".... %>
    If autoFlush="false", the jsp writer has not finished and the buffer is full an exception will be thrown.
    If autoFlush="true" and the buffer is full it will flush the buffer and so on.
    In both cases, if the buffer size is big enough the error jsp page will be the only displayed
    Good luck!
    Inaki

  • Get response message in JSP error page

    Hi,
    Here's a simple one for someone. I HAVE been searching everywhere for the answer but its one of those things I just cant seem to find.
    If I call response.sendError(SC_FORBIDDEN, "Invalid roles"); from a servlet or filter, how can I retrieve the message "Invalid roles" in my JSP error page? (which I have mapped to 403 errors in web.xml).
    Its so simple yet I cannot figure out how to do it.
    Thanks in advance,
    Robert.

    I tried but had no luck. Below is my JSPDYNPAGE code...
    <%@ page import="javax.servlet.http.HttpServletResponse" %>
    <%@ page import="com.sapportals.portal.prt.component.IPortalComponentRequest,com.sapportals.portal.prt.component.IPortalComponentResponse"%>
    <HTML>
         <head>
         </head>
         <body>
    <%
    IPortalComponentRequest request = (IPortalComponentRequest) this.getRequest();
    HttpServletResponse servletResponse = request.getServletResponse(true);esss
    servletResponse.setStatus(500);
    %>
              </body>
         </HTML>
    It is not working showing portal run time error

  • JSP error page in web.xml

    I had a JSP error page spcified through the attribute isErrorPage and referenced in the other JSPs through the errorPage attribute, and everything worked well.
    Then, I decided to specify that errorpage in the web.xml instead :
    <error-page>
      <exception-type>java.lang.Throwable</exception-type>
       <location>/error.jsp<location>
    </error-page>The page is found and everythiing, except that I don't get the Throwable info in the implicit exception object in error.jsp. There's nothing in exception.getMessage().
    Anybody knows why and the solution to this ?

    The JSP spec lets you get the Throwable through the javax.servlet.jsp.jspException request attribute.
    The servlet spec uses the javax.servlet.error.exception request attribute for the same thing.
    Therefore, because of the above unfortunate mismatch, when you switched to a global error page, you could no longer get the Throwable through the implicit exception obj, because the later retrieves Throwable from the javax.servlet.jsp.jspException request attribute.
    The solution would be to retrieve javax.servlet.error.exception from the request yourself in your error page.

  • Referrer to JSP Error Page???

    I curious if anyone knows how I can programmatically find out the name of the page that triggered the JSP error page on the actual error page. Your assistance is much appreciated.

    Thank you all very much for your quick, intelligent replies! I gave babella 2 dollars for the first response in what I thought was the best solution for what I needed (although the response object storing could definitely be useful for other things as well), and the rest 1. This is my first time doling out dollars, so please let me know if I broke any ettiquette rules. Thanks again!

  • Problems with jsp-error page in web.xml

    Hello everybody, I have a confusing problem concerning the use of jsps as error pages for 404-errors.
    I inserted the following lines in my web.xml file:
    <error-page>
    <error-code>404</error-code>
    <location>/personal404.jsp</location>
    </error-page>
    The problem is: when an 404 occurs, instead of showin the personal404.jsp, the browser tells me that it tries to download a file which it can't (it tries to download the mis-spelled file). When I try to redirect the 404 to a static html-page, as in
    <error-page>
    <error-code>404</error-code>
    <location>/personal404.html</location>
    </error-page>
    everything works fine.
    Please, does anybody have any idea or suggestion, what I am doing wrong?
    Thanks in advance,
    Sebastian

    Hi Ivan,
    I tried it, but there wasn't any difference.
    I'll try to explain in more detail what happens:
    Imagine my application has the following root-path
    http://myServerName:port/mainRoot/
    When I try the following URL:
    http://myServerName:port/mainRoot/pageThatDoesNotExist.jsp, the browser tells me, it tries to download the file pageThatDoesNotExist.jsp from myServerName and that it can't find that file.
    The same happens, when I type http://myServerName:port/mainRoot/pathThatDoesNotExist/pageThatDOESExist.jsp, except that the browser tries to download the file pageThatDOESExist.jsp which (again) it can't.
    I have located the files 404.jsp and 404.html in the same directory, so I don't think this is a path-related problem, because everything works fine, when I specify the 404.html as the target error page (i.e. the browser displays the 404.html when I type the URLs shown above).
    I don't know if I'm making this clear, but maybe you get the idea.
    Sebastian

  • Details on JSP error page include...

    I have a scenario as defined below:-
    There are two JSPs, A_page.jsp and B_page.jsp.
    They have AERROR.jsp and BERROR.jsp defined as error pages for them respectively.
    Case1:- If A_page.jsp includes B_page.jsp using include directive.
    In case there is an error, which error page will be shown, AERROR.jsp or BERROR.jsp?
    Case2:- If A_page.jsp includes B_page.jsp using JSP action.
    In case there is an error, which error page will be shown, AERROR.jsp or BERROR.jsp?
    Please clarify...
    Thanks in advance... ;-)

    call.jsp
    <%@page errorPage="first.jsp" %>
    <%=1/0%>
    first.jsp
    <%@page isErrorPage="true" %>
    <%="errorfirst"%>
    <%@include file="second.jsp" %>
    second.jsp
    <%@page isErrorPage="true" %>
    <%="errorSecond"%>
    output
    errorfirst errorSecond
    (so it will display all first and second error jsp`s)...
    its like a sub call (or) inline call in c++...
    and vice versa

  • IE7 Does Not Display Custom Error Pages

    Hi,
    I set up the "Handling Servlet Exceptions (http://www.oracle.com/technology/sample_code/tech/java/codesnippet/servlets/handlingservletexceptions/handlingservletexceptions.html#log) sample code in JDev 10.1.3 on a WindowsXP desktop.
    After modifying the web.xml to run the sample "Catch500Error" servlet I discovered IE7 will not display the custom error page but Mozilla Firefox will.
    The web.xml looks like this:
    <web-app>
    <description>web.xml file for HandlingServletExceptions Application</description>
    <servlet>
    <servlet-name>CatchError500</servlet-name>
    <servlet-class>oracle.otnsamples.servlets.CatchError500</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>CatchError500</servlet-name>
    <url-pattern>/catcherror500</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>35</session-timeout>
    </session-config>
    <error-page>
    <error-code>500</error-code>
    <location>/web/500error.html</location>
    </error-page>
    </web-app>
    Does anyone know how to get IE7 to display the custom error page?
    TIA,
    Jim

    The post documents a problem with 'dashboard designer' not 'sharepoint designer' as the post above mentions. I tried the solution that Jilu posts and that does not fix the problem for dashboard designer.
    I figured this out. In the master page gallery where my custom master page was deployed, I had to edit the details, change the content type to 'publishing master page'. After that change there was then UI versions for 3 and 4. I change the UI to 4, published
    the  master page document in the library then dashboard designer saw the custom master page. 
    Andy Fitch

  • Error-page problem with Tomcat 5.0.24

    I want to display an error page in case any exception is thrown by my JSF application.
    I configure the error page in the web.xml and run the application on Tomcat 5.0.24.
    When an error really happens while loading a jsf-page A the error page is not displayed. In IE i see just a blank page. When I check the source code it shows me some parts of the page A (javascript functions). So it actually never navigates to the error page.
    I tried to use jsf, simple jsp or even html pages as an error page - the same effect.
    And one more thing. When plain jsp-page throws an exception I see my error page all right. Also I see an exception stack trace in Tomcat console. When jsf-page throws an exception I don't see any exception information in the Tomcat console.
    Does anybody has an explanation to this? Can anybody recommend me any other way to watch for exceptions in a JSF-application?
    Any help will be appreciated.
    Slawa

    I resolved the problem.
    I had to increase the jsp-buffer size for the erroneous page. It looks like it started to load and when the error happened the container couldn't redirect to the error page.
    Thanks to jBoss which gives more log messages though is also based on tomcat.
    Slawa

  • How to display a stack trace in a jsp error mage

    What is the best way to display a stack trace in a JSP error page?
    I use "${pageContext.exception.message}" for the exception message. Is there a comparable JSTL expression for the stack?

    Cool! it totally works.
    Thanks for pointing me to this post.

  • HTTP Error 403 - Customized Error Page Display Issue

    Hi,
    I have included 403 in <error-code> in my web.xml and defined proper security constraints. But when I try to access my JSPs directly on Mozilla I see my error page but I try in Internet, I can't see the same page.
    Can someone help me?

    BalusC wrote:
    Then don't send the HTTP error status code in the headers. It would trigger IE to display friendly error pages.
    Best solution would be to let the error page invoke a redirect to self (or another error page) when the HTTP status code is 403, so that it becomes 200 (or anything in range of 200-399) so that IE won't be triggered to display friendly error pages. Best solution would be to let the error page invoke a redirect to self (or another error page) when the HTTP status code is 403You want to say that I should define a error page in my JSP where, when its called, I need to handle the 403 error. Please correct me if I'm wrong. I have defined *403 error code in my web.xml*.
    Again if possible can you please put down a sample how to do it?

  • Error page redirection in tomcat 4.1

    Hi,
    I have error page directive in web.xml as follows
    <error-page>
    <exception-type>javax.servlet.ServletException</exception-type>
    <location>/jsp/system_error.jsp</location>
    </error-page>
    But tomcat wouldnt show up this page. But this very same application would work fine when I invoke tomcat using my netbeans IDE. wouldnt work with a standalone tomcat. any clues?

    Hi,
    Yes that's a bug/feature of tomcat 4.1. You need to declare a Logger in your tomcat server configuration file :
    <?xml version="1.0" encoding="UTF-8"?>
    <Server debug="0" port="8084" shutdown="SHUTDOWN">
      <Service name="Tomcat-Standalone">
        <Connector acceptCount="10" className="org.apache.coyote.tomcat4.CoyoteConnector" connectionTimeout="60000" debug="0" maxProcessors="75" minProcessors="5" port="8083"/>
        <Engine debug="0" defaultHost="localhost" name="Standalone">
          <Logger className="org.apache.catalina.logger.SystemOutLogger"/>
          <Host appBase="C:\Tomcat\webapps" debug="0" name="localhost" unpackWARs="true"/>
        </Engine>
      </Service>
    </Server>

Maybe you are looking for