Servlet y sesiones

Angel
03 de Diciembre del 2005
Hola.

Tengo un problema con el seguimiento de sesiones en un servlet.
Para que las sesiones funcionen con todos los navegadores, tengan activadas las cookies o no, he utilizado el metodo encodeRedirecURL(). El problema me ocurre coando lo pruebo, aunque el navegador este con las cookies activas me sigue sobreescribiendo la url. Segun tengo entendido por la documentacion, este metodo solo sobreescribe si las cookies estan desactivadas. Me puede alguien echar una mano?

Lo he probado con firefox, internet explorer y opera y pasa lo mismo con todos. Utilizo eclipse 3.1 con lomboz y tomcat 5.5.

El codigo del servlet es el siguiente:

package misServlets;


import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


public class ServletInicioSesion extends javax.servlet.http.HttpServlet {

final static long serialVersionUID = 1;

public ServletInicioSesion() {
super();
}


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub

String nombre = request.getParameter("nombre");
String pass = request.getParameter("pass");

response.setContentType("text/html");
//PrintWriter out = response.getWriter();

response.setContentType("text/html");

if (nombre.equals("")||pass.equals(""))
response.sendRedirect("index.html");
else{
if (nombre != null y pass != null){
if (nombre.equals(pass)){
HttpSession sesion = request.getSession(true); //True para q la cree si no lo esta ya

sesion.setAttribute("nombre", nombre);
sesion.setAttribute("pass", pass);

response.sendRedirect(response.encodeRedirectURL("ServletComprobarSesion"));

}
}
}
}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}


A ver si me podeis ayudar.
Muchas gracias!