I'm having lots of problems with Netscape if I use the `sendRedirect' method
from HttpServletResponse.

I am using Apache and Jserv under NT.

However, I will first describe my use of it with the hopes that an
alternative way can be presented.

doPost(...) {
    retrieve values from getParameters()
    validate values
    if (error)
        display error page
    else
        update database;
        resp.sendRedirect(redirectedURL+ args);
}

Under IE 4.0, everything works fine and redirection is quick. However, under
Netscape 4.61, it takes about 5-10 seconds before the redirected page is
displayed (and under servlet runner an exception occurs:
java.net.SocketException: Socket read failed).

So I tried to narrow the problem down and created a small example using
sendRedirect. Then it becomes wierder. The code is:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Test2Servlet extends HttpServlet {
 public void doGet(HttpServletRequest req, HttpServletResponse resp)
 throws ServletException, IOException {
  resp.setContentType("text/html");
  PrintWriter out = resp.getWriter();
  out.println("<HTML><HEAD>");
  out.println("<TITLE>HTML directory");
  out.println("</TITLE></HEAD><BODY TEXT=\"#800000\"
BGCOLOR=\"#FEFBEB\"><FORM METHOD=\"POST\" >");
  out.println("<BR><INPUT TYPE=\"SUBMIT\" VALUE=\"Test redirect\"
NAME=\"Test redirect\">");
  out.println("</FORM></BODY></HTML>");
  out.close();
 }
 public void doPost(final HttpServletRequest req,
       HttpServletResponse resp)
  throws ServletException, IOException {
  String abs = HttpUtils.getRequestURL(req).toString();
  System.err.println( "Redirecting to: " + abs + " resp class name:" +
resp.getClass().getName());
  resp.sendRedirect( abs );
 }
}

Once again, it works fine for IE under both servlet runner and Jserv. Under
Netscape and Jserv, if I press "Test redirect" I get the following output:

Found

The document has moved here.

Apache/1.3.6 Server at mymachinename Port 80

Under Netscape and servlet runner, I get

Document moved

This document has moved here.

I really need to have the functionality of sendRedirect so I can pass
arguments to the redirected servlet. I am using JSK2.0.

Can anyone help here (or perhaps suggest an alternative way)?

dino

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to