Using redirect instead of forward

Discussion in 'Java' started by teser3@hotmail.com, Jun 9, 2008.

  1. Guest

    In Tomcat 4.1.27 servlet I am using RequestDispatcher type to forward
    a message and get it in JSP. How can I do the same using redirect
    instead?

    Here is what I have -

    Servlet:
    request.setAttribute("MyMessage", "Hello");
    RequestDispatcher requestDispatcher = request.getRequestDispatcher("/
    toPage.jsp");
    requestDispatcher.forward(request, response);


    toPage.jsp
    out.println(request.getAttribute("MyMessage"));


    Now using redirect would this be the best way?
    String myMessage = "Hello";
    session.setAttribute("myMessage",myMessage);
    response.sendRedirect("­/toPage.jsp");


    toPage.jsp
    out.println(session.getAttribute("MyMessage"));
     
    , Jun 9, 2008
    #1
    1. Advertising

  2. Arne Vajhøj Guest

    wrote:
    > In Tomcat 4.1.27 servlet I am using RequestDispatcher type to forward
    > a message and get it in JSP. How can I do the same using redirect
    > instead?
    >
    > Here is what I have -
    >
    > Servlet:
    > request.setAttribute("MyMessage", "Hello");
    > RequestDispatcher requestDispatcher = request.getRequestDispatcher("/
    > toPage.jsp");
    > requestDispatcher.forward(request, response);
    >
    >
    > toPage.jsp
    > out.println(request.getAttribute("MyMessage"));
    >
    >
    > Now using redirect would this be the best way?
    > String myMessage = "Hello";
    > session.setAttribute("myMessage",myMessage);
    > response.sendRedirect("­/toPage.jsp");
    >
    >
    > toPage.jsp
    > out.println(session.getAttribute("MyMessage"));


    I think keeping forward instead of switching to send redirect
    is the right way.

    Arne
     
    Arne Vajhøj, Jun 9, 2008
    #2
    1. Advertising

  3. Lew wrote:
    > Arne Vajhøj wrote:
    >> wrote:
    >>> In Tomcat 4.1.27 servlet I am using RequestDispatcher type to forward
    >>> a message and get it in JSP. How can I do the same using redirect
    >>> instead?
    >>>
    >>> Here is what I have -
    >>>
    >>> Servlet:
    >>> request.setAttribute("MyMessage", "Hello");
    >>> RequestDispatcher requestDispatcher = request.getRequestDispatcher("/
    >>> toPage.jsp");
    >>> requestDispatcher.forward(request, response);
    >>>
    >>>
    >>> toPage.jsp
    >>> out.println(request.getAttribute("MyMessage"));
    >>>
    >>>
    >>> Now using redirect would this be the best way?
    >>> String myMessage = "Hello";
    >>> session.setAttribute("myMessage",myMessage);
    >>> response.sendRedirect("­/toPage.jsp");
    >>>
    >>>
    >>> toPage.jsp
    >>> out.println(session.getAttribute("MyMessage"));

    >>
    >> I think keeping forward instead of switching to send redirect
    >> is the right way.

    >
    > It is less traffic between client and server to use forward rather than
    > redirct. You can pass information via the request rather than the
    > session with forward. You can hang on to server-side resources through
    > a forward. You stay within the application context with a forward. A
    > forward is faster, cleaner and easier to control than a redirect.
    >


    For my personal webapps, I forward after a GET, but redirect after a
    successful POST to send the client to a "here's the current state" page.
    The page can be reloaded or gone back to without triggering "this page
    contains POSTed data." I much prefer this user experience.
     
    Chris Riesbeck, Jun 9, 2008
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. qazmlp
    Replies:
    1
    Views:
    615
    Jonathan Turkanis
    Feb 15, 2004
  2. Replies:
    0
    Views:
    261
  3. Replies:
    0
    Views:
    244
  4. Replies:
    0
    Views:
    247
  5. Sal
    Replies:
    1
    Views:
    812
Loading...

Share This Page