Problema con el getRequestURI()!!!!!!

rock
19 de Octubre del 2005
Hola a toda la comunidad!!!!!

Estoy en un proyecto que maneja sesiones al momento de que un usuario se firma para entrar a la aplicación. En todas las jsp que se manejan se utiliza el siguiente codigo para la sesión:



UsuarioBean BUsuario = (UsuarioBean)session.getAttribute("UsuarioBean");

String strTmp=request.getRequestURI();

strTmp=strTmp.substring(strTmp.indexOf('/',2)+5,strTmp.length());

if(BUsuario==null){

try{

response.sendRedirect("index.jsp?pagina="+ strTmp);

}

catch(java.io.IOException io){

System.out.println("ERROR:"+io.getMessage());

}

}





Por ejeplo si pierdo mi sesion y entro a la pagina PortalTramite.jsp, me marca esto en la barra de direcciones

http://host:9080/proyecto/jsp/index.jsp?pagina=PortalTramite.jsp

y entra sin ningun problema.

Pero si entro a una dirección donde paso parametros a otra pagina. osea:

InstruccionesAtender.jsp?id_ins=117, al momento de volver a firmarme me quita el ?id_ins=117 y me lo muestra de la siguiente manera:

http://host:9080/proyecto/jsp/index.jsp?pagina=InstruccionesAtender.jsp



Alguien sabe como solucionar este problema o en su caso que en el codigo que les pongo de ejemplo, en la parte siguiente:



String strTmp=request.getRequestURI(); en vez de pasar el getRequestURI(), sea otra función que me traiga lo que tiene en la barra de direcciones sin borrar parametros que paso.



Ojala me puedan ayudar, Gracias


dienadel
19 de Octubre del 2005
Los parametros que van a partir del "?" son los parametros del request, deberas recogerlos aparte con un metodo de la clase ServletRequest. getParametersNames, getAttributesNames, etc ...