Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / June 2006

Tip: Looking for answers? Try searching our database.

response.sendRedirect Query

Thread view: 
parkarumesh@gmail.com - 01 Jun 2006 12:31 GMT
Hi

The following code snippet is a funtion in my servlet.

public static void errorHandling(int code)
    {
        try{
        String forwardString = "/parser/errorPage.jsp?errorCode="+code;
        System.out.println("****FORWARD STRING: "+forwardString);

        response.sendRedirect(forwardString);
        return;

               /*RequestDispatcher disp =
request.getRequestDispatcher(forwardString);
        disp.forward(request,response);*/

        //response.resetBuffer();
        //response.flushBuffer();
        /*if(!response.isCommitted())
            response.flushBuffer();*/

        }catch(Exception ex){ex.printStackTrace();}
    }

}

Here response and request are static.

Now when i call this function from a normal class it executes fine.
However if i call it from a jsp no mesaage is displyed and the foll
exception is thrown.

java.lang.NullPointerException
       at
org.apache.coyote.tomcat4.CoyoteResponseFacade.isCommitted(CoyoteRes
onseFacade.java:242)
       at
org.apache.coyote.tomcat4.CoyoteResponseFacade.sendRedirect(CoyoteRe
ponseFacade.java:337)
       at parserPckg.ReadDate.errorHandling(ReadDate.java:79)
       at
org.apache.jsp.FolderActivity_jsp._jspService(FolderActivity_jsp.jav
:101)
       at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
       at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrappe
.java:210)
       at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
95)
       at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
       at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(App
icationFilterChain.java:247)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(Application
ilterChain.java:193)
       at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper
alve.java:256)
       at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte
t.invokeNext(StandardPipeline.java:643)
       at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja
a:480)
       at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995

       at
org.apache.catalina.core.StandardContextValve.invoke(StandardContext
alve.java:191)
       at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte
t.invokeNext(StandardPipeline.java:643)
       at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja
a:480)
       at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995

       at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java
2417)
       at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.
ava:180)
       at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte
t.invokeNext(StandardPipeline.java:643)
       at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatch
rValve.java:171)
       at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte
t.invokeNext(StandardPipeline.java:641)
       at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.
ava:172)
       at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte
t.invokeNext(StandardPipeline.java:641)
       at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja
a:480)
       at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995

       at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVa
ve.java:174)
       at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte
t.invokeNext(StandardPipeline.java:643)
       at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja
a:480)
       at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995

       at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:1
3)
       at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.jav
:781)
       at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proc
ssConnection(Http11Protocol.java:549)
       at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.jav
:589)
       at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Thread
ool.java:666)
       at java.lang.Thread.run(Thread.java:534)

Also attached the errorPage.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
   pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charsekt=ISO-8859-1">
<title>Error Page-You will be redirected to the previous page</title>
</head>
<body>
<%
int errorCode = Integer.parseInt(request.getParameter("errorCode"));
System.out.println("****ERRORCODE: "+errorCode);
switch(errorCode)
{
    case 1: out.println("No activity in within specified dates");%>
            <a href="/parser/index.jsp">Back to Index</a>

           <%break;

    case 2: out.println("No activity in this folder");%>
            <a href="/parser/ActivityList.jsp">Back to Index</a>
          
           <%break;
           
}
%>
</body>
</html>

Plz help
chris brat - 02 Jun 2006 07:46 GMT
Check that your expected "errorCode" does actually exist in the request
- a redirect creates a new request and all previously existing state
data (your "errorCode" in this case is lost).

To maintain state in the request rather use a forward or if the session
if it is necessary.


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.