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

Similar Messages

  • 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.

  • Problems with error-page in web.xml and page caching

    Having a few problems with error pages and web.xml with browsers caching the error pages and strange errors coming out of weblogic.servlet.intenal.WebAppServletContext
    I'm trying to set a web app up so that all http errors and all exceptions are routed thruogh predefined resources. For now, I'm simply send 400 errors to 400.html and the ServletException, IOException and RuntimeException to respective html pages.
    What I'm finding is that the error codes work fine but the exceptions are only be routed to the correct error page for the first call to the servlet after server restart.
    So for example, I have my servlet throwing a ServletException as a test case. The weblogic server log shows that ServletException is thrown, and the correct error page for ServletExceptions is shown.
    If I change the Servlet code to throw IOException in place of SevletException, the weblogic.log shows that IOExceptyion is being thrown (so the servlet has deployed successfully), however the Servletxception error page is shown on the browser.
    I'm using IE6 and I've changed the setting such that a new page is requested every time using the tools-internet options-temp internet files-settings option to "check for new versions of stored pages: Every visit to the page".
    Despite this, the servlet exception error page still appears.
    If you clear the cache from the temp intenet files->delete files IE option, the correct errror page will be shown so it appears that the browser cache is being used after all.
    everytime I delete the temp intenet files I get the correct error page on the first request after but then not after that.
    I have implemented the service method for this test to throw the exceptions - does this make a differecne?
    As a test, I have moved the imlpementation to the doGet method instead bu I now get a strange eror from weblogic comlpaining about an arrayOutOfBoundsException because eror codes in the web.xml are not supported! - see error above.
    Any help is appreciated

    After further investigation: -
    There are no problems with error pages based on error codes, only error exceptions.
    As a test case, I have a service method in a servlet throwing either one of the three exception types that servlets can throw (Runtime, Servlet & IO) the following rules apply. The exception to be thrown is hardcoded and is changed and the web app rebuilt each time. The correct web.xml has been deployed to the app server (checked through console). the webapp is being redeployed correctly - this can be seen in the weblogic log, where the correct exception is reported.
    I am using WLS 8.1, Servlet 2.3, JDK 1.4.1_02
    In all cases, the weblogic log reports that the servlet is throwing the exception as expected.
    Despite having set error-page for exception javax.servlet.ServletException, the exceptions are diverted to the error page that has been set up for http error code 500
    The error page for ServletException is therefore never reached.
    I have the browser set to request pages every time it is asked.
    Once the servlet has thrown an IOException, the only way to get the browser to report an IO or Runtime exception error-page is to clear the browser cache. Restarting the server has no effect.
    Once the servlet has responded with ANY exception, it is not possible to get it to report a ServletException (which is incorrectly reported as a 500 anyway) unless the cache is cleared. Restarting the server has no effect.
    In the case where the servlet throws ServletException, it has no root exception. The servlet 2.3 spec states that if ServletException is thrown but cannot be found in the error pages, the root excpetion will be extracted and the error page list traversed again. Knowing that the RuntimeException error page is correct shown when RuntimeException is throwm, I have nested this inside the ServletException, however error page for http error 500 is still shown.
    I don't believe this is a WLS 8.1 problem, as the console shows that the correct exception is thrown each time. this is backed up by the fact that the correct exception page is thrown when the cache is cleared regardless of what exception was previousdly thrown by the servlet. This excludes ServletException which is always incorrectly thrown as a 500.

  • Problem displaying error page of web.xml when using JSF, Ajax4jsf

    Hi,
    My application is using MyFaces, RichFaces and Ajax4jsf. When i try to display error page configured in web.xml, i am getting exception "Error while processing error page".
    my web.xml contents are as follows:
    <?xml version="1.0"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <filter>
    <display-name>RichFaces Filter</display-name>
    <filter-name>richfaces</filter-name>
    <filter-class>org.ajax4jsf.Filter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>richfaces</filter-name>
    <servlet-name>faces</servlet-name>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <filter>
    <filter-name>extensionsFilter</filter-name>
    <filter-class>
    org.apache.myfaces.webapp.filter.ExtensionsFilter
    </filter-class>
    <init-param>
    <description>
    set the size limit for uploaded files. Format: 10 - 10 bytes 10k
    - 10 KB 10m - 10 MB 1g - 1 GB
    </description>
    <param-name>uploadMaxFileSize</param-name>
    <param-value>100m</param-value>
    </init-param>
    <init-param>
    <description>
    Set the threshold size - files below this limit are stored in
    memory, files above this limit are stored on disk.
    Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
    </description>
    <param-name>uploadThresholdSize</param-name>
    <param-value>100k</param-value>
    </init-param>
    </filter>
    <filter>
    <filter-name>Seam Redirect Filter</filter-name>
    <filter-class>org.jboss.seam.servlet.SeamRedirectFilter</filter-class>
    </filter>
    <filter>
    <filter-name>KTServletFilter</filter-name>
    <filter-class>com.kenexa.core.system.KTServletFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>*.jsf</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>/faces/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>Seam Redirect Filter</filter-name>
    <url-pattern>*.jsf</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>KTServletFilter</filter-name>
    <url-pattern>*.jsf</url-pattern>
    </filter-mapping>
    <!-- seam Listeners -->
    <listener>
    <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
    </listener>
    <listener>
    <listener-class>com.kenexa.kr.web.KRServletListener</listener-class>
    </listener>
    <servlet>
    <servlet-name>faces</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>faces</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/rc/systemError.jsf</location>
    </error-page>
    </web-app>
    As per the configuration, when exception is thrown out of the application, container tries to display systemError.jsp page. If we want to include the JSF tags in systemError.jsp page, the request should pass through FacesServlet, so in the <error-page> <location> tag systemError page is specified with the extention systemError.jsf though it's actual extention is .jsp
    When exception is thrown from the application container invoke the error page but, while rendering systemError.jsf page exception is thrown saying "Exception processing error page "systemError.jsp" "
    To solve this problem i've gone through several forums, materials.
    In one forum a guy said, JSF1.1 spec has some problem in displaying error pages. To solve this don't write <f:view> tags in the error page, use <f:subview> intstead. By reading this, i again changed the contents of systemError.jsp page replacing <f:view> by <f:subview>. But the error is still repeating.
    Finally what i found is, when we use Ajax4jsf in the application, its AjaxViewRender class is throwing exception while rendering error pages configured through web.xml.
    So what i did is i changed error page extention from .jsf to .jsp in the <location> tag. Now jsf won't come in the picture and remove JSF related tags from the systemError.jsp page.
    <error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/rc/systemError.jsp</location>
    </error-page>
    Any comments are welcome----------------------------------------------------------------

    I too iam facing the same problem could you advise if you have found any solutions
              -Ram

  • Using error pages in web.xml

              Having a few problems with error pages and web.xml with browsers caching the error
              pages and strange errors coming out of weblogic.servlet.intenal.WebAppServletContext
              I'm trying to set a web app up so that all http errors and all exceptions are
              routed thruogh predefined resources. For now, I'm simply send 400 errors to 400.html
              and the ServletException, IOException and RuntimeException to respective html
              pages.
              What I'm finding is that the error codes work fine but the exceptions are only
              be routed to the correct error page for the first call to the servlet after server
              restart.
              So for example, I have my servlet throwing a ServletException as a test case.
              The weblogic server log shows that ServletException is thrown, and the correct
              error page for ServletExceptions is shown.
              If I change the Servlet code to throw IOException in place of SevletException,
              the weblogic.log shows that IOExceptyion is being thrown (so the servlet has deployed
              successfully), however the Servletxception error page is shown on the browser.
              I'm using IE6 and I've changed the setting such that a new page is requested every
              time using the tools-internet options-temp internet files-settings option to "check
              for new versions of stored pages: Every visit to the page".
              Despite this, the servlet exception error page still appears.
              If you clear the cache from the temp intenet files->delete files IE option, the
              correct errror page will be shown so it appears that the browser cache is being
              used after all.
              everytime I delete the temp intenet files I get the correct error page on the
              first request after but then not after that.
              I have implemented the service method for this test to throw the exceptions -
              does this make a differecne?
              As a test, I have moved the imlpementation to the doGet method instead bu I now
              get a strange eror from weblogic comlpaining about an arrayOutOfBoundsException
              because eror codes in the web.xml are not supported! - see error above.
              Any help is appreciated
              

    Have you tried setting pragama no cache?
              <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
              cheersmbg"Aaton" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Having a few problems with error pages and web.xml with browsers caching
              the error
              > pages and strange errors coming out of
              weblogic.servlet.intenal.WebAppServletContext
              >
              > I'm trying to set a web app up so that all http errors and all exceptions
              are
              > routed thruogh predefined resources. For now, I'm simply send 400 errors
              to 400.html
              > and the ServletException, IOException and RuntimeException to respective
              html
              > pages.
              >
              > What I'm finding is that the error codes work fine but the exceptions are
              only
              > be routed to the correct error page for the first call to the servlet
              after server
              > restart.
              >
              > So for example, I have my servlet throwing a ServletException as a test
              case.
              > The weblogic server log shows that ServletException is thrown, and the
              correct
              > error page for ServletExceptions is shown.
              >
              > If I change the Servlet code to throw IOException in place of
              SevletException,
              > the weblogic.log shows that IOExceptyion is being thrown (so the servlet
              has deployed
              > successfully), however the Servletxception error page is shown on the
              browser.
              >
              > I'm using IE6 and I've changed the setting such that a new page is
              requested every
              > time using the tools-internet options-temp internet files-settings option
              to "check
              > for new versions of stored pages: Every visit to the page".
              >
              > Despite this, the servlet exception error page still appears.
              >
              > If you clear the cache from the temp intenet files->delete files IE
              option, the
              > correct errror page will be shown so it appears that the browser cache is
              being
              > used after all.
              >
              > everytime I delete the temp intenet files I get the correct error page on
              the
              > first request after but then not after that.
              >
              > I have implemented the service method for this test to throw the
              exceptions -
              > does this make a differecne?
              >
              > As a test, I have moved the imlpementation to the doGet method instead bu
              I now
              > get a strange eror from weblogic comlpaining about an
              arrayOutOfBoundsException
              > because eror codes in the web.xml are not supported! - see error above.
              >
              > Any help is appreciated
              

  • Defining error-page in web.xml

    Hi,
    We are using oracle 9iAS with oc4j container. I have defined error-page for redirecting 404 error-code in web.xml. It works fine with all browsers except internet explorer 5.5 and higher, IE ignores and displays 'page cannot be displayed' page. Can anybody help me on this, but on the otherhand if I send response.sendError(404);, it recognizes and invokes page.
    Thanks for the advice

    Hi,
    Thanks for your reply to me.
    I am doing something wrong but I can't find it.
    I add the following code to my WEB-INF/web.xml file under the web-app tag, using jdeveloper.
    <error-page>
    <error-code>404</error-code>
    <location>notFound.html</location>
    </error-page>
    then all of my jsp's in my project have this error message when I buit them.
    -Error(1): oracle.xml.parser.v2.XMLParseException: Invalid element 'error-page' in content of 'web-app', expected elements '[taglib, resource-ref, security-constraint, login-config, security-role, env-entry, ejb-ref]'.
    Can yo help me???
    thanks in advence...

  • Problems with the tag error-page in web.xml

    hi all, here is my code in my web.xml:
    <error-page>
    <exception-type>java.sql.SQLException</exception-type>
    <location>/ex.html</location>
    </error-page>
    it seems not to work, because my JavaBean where its the code to connect to my database and execute a query has an error i made it at purpose to see if the error page works, my JavaBean reports an error: column name not valid but the error-page didn�t work, i use a servlet which instantiates my JavaBean and then my servlet redirects to a JSP, obviouslly if an error occurs my servlet didnt redirect to any place, here is the code into my JavaBean, if anyone could help me i really appreciate it...
    public BeanLista seleccionaCliente()
    int nBandera = 0;
    BeanList lp = new BeanList();
    String cadena = "SELECT CODCLI, APEPATI FROM TESO.CLIENTE WHERE CODCLI like '2001120%' ";
    try
    context = new InitialContext();
    pool = (DataSource)context.lookup("jdbc/PRUEBADS");
    catch (NamingException ne)
    ne.printStackTrace();
    System.out.println("No se ha podido efectuar el Pool de Conexiones");
    try
    cc = pool.getConnection();
    ResultSet rs = cc.createStatement().executeQuery(cadena);
    cc.close();
    while(rs.next())
    BeanPrueba bp = new BeanPrueba();
    bp.setCodcli(rs.getString(1));
    bp.setApepat(rs.getString(2));
    lp.add(bp);
    return lp;
    }catch(SQLException sql){
    System.out.println("A ocurrido un error de SQL");
    System.out.println("Error de SQl capturado como : "+sql.getMessage());
    //sql.printStackTrace();
    return lp;
    }

    Can it be because you are catching your exception? Why don't you try throwing the same exception in the catch block and let the server handle it for you.
    Just a guess... Hope it works.
    VM

  • error-page in web.xml not working

    In my web.xml I have
    <error-page>
    <exception-type>java.lang.NullPointerException</exception-type>
    <location>/error.jsp</location>
    </error-page>
    I checked the page works by doing a /context/error.jsp and
    the page displays fine (it is a simple jsp page).
    I hit a struts action that gives me this in the std output.
    06/29 10:48:24 error
    [1]java.lang.NullPointerException
    at
    com.pearson.gs.cms.business.LoginService.verifyPassword(LoginService.java:232)
    at
    com.pearson.gs.cms.action.LoginAction.performCMSAction(LoginAction.java:92)
    at
    com.pearson.gs.cms.action.BaseCMSAction.execute(BaseCMSAction.java:48)
    at
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    at
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    at
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
    at
    jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at
    jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259)
    at
    jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
    at
    jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
    at
    jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
    [0]javax.servlet.ServletException
    at
    org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
    at
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    at
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    at
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
    at
    jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at
    jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259)
    at
    jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
    at
    jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
    at
    jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
    I get a 500 error page instead of my /error.jsp page.
    I tried adding
    <error-page>
    <error-code>500</error-code>
    <location>/error.jsp</location>
    </error-page>
    but that doesn't work either.
    JRun 4.0
    Updater 6
    JDK 1.4.2
    Struts 1.2.8
    Any ideas what to try?

    a. Override your skeletons error.jsp to forward/redirect to your page.
    or
    b. If you primarily use pageflow portlets Define a shared flow which has an exception handling method and direct it to your page. Reference the shared flow in each of your controllers (i think global.app is deprecated in 10 otherwise you could do this there). this lets you log some additional information, plus gives you the added flexibility of dealing with different exception types
    or
    c. Override the path to error.jsp in your portlets properties (havent tested)
    Note if you are using servlets etc you still need your web.xml java.lang.Exception entry. The reason it doesnt get picked up is because the portal framework is handling the exception
    Edited by: deepshet on Dec 22, 2008 8:12 PM

  • Display error page using web.xml error-page

    I need to dispaly error page when IOException in thrown. How to do that with web.xml error-page tag?
    start.jsf
    public String doButton1Action() throws IOException{
              String value = getText1().getValue().toString();
              try {
                   File f = new File(value);          
                   InputStream in = new FileInputStream(f);
              } catch (IOException e) {
                   throw new IOException();
              return "success";
         }I have this in web.xml:
         <error-page>
              <exception-type>java.io.IOException</exception-type>
              <location>/ioerror.jsp</location>
         </error-page>

    I tried that earlier but then I get error just printed to console and HTTP 500 - Internal server error -page, bubt not my errorPage.
    [26.1.2007 21:19:16:543 EET] 00000038 jsf           E com.sun.faces.lifecycle.InvokeApplicationPhase execute #{pc_Start.doButton1Action}: javax.faces.el.EvaluationException: java.io.FileNotFoundException: c:\temp\ghostfile.jpg
                                     javax.faces.FacesException: #{pc_Start.doButton1Action}: javax.faces.el.EvaluationException: java.io.FileNotFoundException: c:\temp\ghostfile.jpg
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:79)
         at javax.faces.component.UICommand.broadcast(UICommand.java:312)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:298)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:412)
         at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
         at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
         at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
         at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
         at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
         at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
         at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
         at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
         at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
         at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
         at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
         at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
         at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
         at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
    Caused by: javax.faces.el.EvaluationException: java.io.FileNotFoundException: c:\temp\ghostfile.jpg
         at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:131)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:73)
         ... 25 more

  • Error-page in web.xml: error page doesn't show

    Hi,
    I added the following block in web.xml file:
    <error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/ESU9098J.jsp</location>
    </error-page>
    When I force an exception, I get a pop-up for downloading a file named EAC0002Se04379bf (where EAC0002S is the name of the servlet in which the exception happens). Can anybody help?
    I use OC4J 10221 on Win Xp with JDK 1.3.1
    Thanks
    Jean

    This is due to a erroneous MIME type mapping in one of the OC4J config files.
    To resolve it:
    Modify mime.types under $OC4J_HOME/config by removing the line application/jsp (for some unknown reason, there are two of them in the file) or renaming the
    word jsp into some other name, ex.:
    "application/jsp jsptemp"
    for both the 2 lines. Then add "jsp" to the end of the "text/html" line, ex.:
    "text/html html htm jsp".
    This will make oc4j use text/html in the response when a jsp file is being processed that's why it's very important to eliminate application/jsp by renaming jsp or simply deleting the line.
    We fixed this error in the config file in a later release.
    cheers
    -steve-

  • 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

  • Problem with the data source and web.xml

    I have an issue where JSC is removing my resource reference:
    <resource-ref>
    <description>Creator generated DataSource Reference</description>
    <res-ref-name>jdbc/localOracleDatabase</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    from the web.xml and sun-web.xml.
    The application has been working great in the IDE for months then wham, no more data source definition. I try and add the reference manually and the IDE takes it out. I am "NOT" adding it to the .xml's in the build area. Why is JSC removing the data source entry?

    This continues to be a problem. The only way that I can get around the problem is to drag a table from the data source onto the design pallete and then the datasource is added back to the web.xml. I can run fine for 10 or 15 runs then the entry is once again removed from the web.xml.
    Help please!

  • About error-page in web.xml

    1)<!ELEMENT error-page ((error-code | exception-type), location)>
      <error-page>
            <error-code>404</error-code>
            <location>/404.html</location>
        </error-page> <error-page error-code='404' location='/404.html'/ > <--why this is wrong???
    2)How to explain the followings? Any examples?
    "If no error-page declaration containing an exception-type fits using the class-heirarchy match, and the exception thrown is a ServletException or subclass thereof, the container extracts the wrapped exception, as defined by the ServletException.getRootCause method. A second pass is made over the error page declarations, again attempting the match against the error page declarations, but using the wrapped exception instead."

    <error-page error-code='404' location='/404.html'/ > <--why this is wrong???Because thats not what the DTD specifies.
    It says that <error-page> must have two sub elements - the <error-code> or <exception-type> and a <location>
    It doesn't say that you can have them as attributes. So what you have typed there is wrong.

  • Problem with JSP and Java Servlet Web Application....

    Hi every body....
    I av developed a web based application with java (jsp and Java Servlets)....
    that was working fine on Lane and Local Host....
    But when i upload on internet with unix package my servlets and Java Beans are not working .....
    also not access database which i developed on My Sql....
    M using cpanel support on web server
    Plz gave me solution...
    Thanx looking forward Adnan

    You need to elaborate "not working" in developer's perspective instead of in user's perspective.

  • [Problem] Define Error Codes in web.xml

    Hi everybody!
    What I want to do is very simple to explain:
    For our web-application I have designed a global error pages, that should appear, whenever an error occurs. Not matter if it is an 500 a 404 or a 202. Always the same page, that does the processing of the error in the background.
    In the web-xml if defined it like this: (for example for a 500 error)
    <error-page>
          <error-code>500</error-code>
          <location>/global_error_page.jsp</location>
    </error-page>Now I want to alter the web.xml in a way, that this error page is called for all possible error-codes, without writing a whole block for each error-code.
    For some reason <error-code>*</error-code> does not work.
    And ideas, suggestions?
    Thanks in Advance!
    Stef

    i have done it for collecting Database errors but not successful in doing it for Catch errors.
    The way to do it for DB errors is to return error through pragma and in try itself store it in a String and use requestDispatcher by setting attribute and getting the same in JSP. But this should be inside try to work.
    For Java errors i have defined error code in web.xml
    so the possible java errors shows the error page.

Maybe you are looking for

  • 6110 Navigator - doesn't see other BT devices

    This is really starting to give me the sh*ts. I cannot see any other bluetooth devices with my 6110 Navigator, even when the other device is 5cm away. I recently purchased a "Pilot-mini" BT hands-free (think similar to Blue Ant "Lite") and my 6110 ca

  • Error During Install using Oracle DB

    Hi All, I'm trying to use an Oracle database with IDM. Our DBA used the provided script (create_waveset_tables.oracle) to set up the database, we're using the login/password that the DBA set up, I've copied the oraclejdbc.jar file to the /WEB-INF/lib

  • Cant view flash file in IE

    Hi i have a webpage created at http://www.beaufieldmews.com/draft1.html and i can see the scrolling text on the right but someelse has viewed it and they cannot see the scrolling text does anyone know why. Thanks

  • What is firmware v20???blur here

    hai im a new user to nokia..i want to know what is firmware..?do i need to ask the salesperson to update the fimware or is it already included in the N95?WEL SORRY GUYS I dont know much about this firmware.please let me know do i need to buy the phon

  • Captivate 5 freezing issue when trying to add closed captions to video

    Hi There -- I'm trying to add closed captions to a video (.f4v) I inserted as "Slide Video" on a slide in an Adobe Captivate 5 presentation.  I click on the video to select it, go to the properties panel, select "edit video timing" and then click on