Erros com Redirecionamento

3 respostas
R

Estou desenvolvendo um Servlet que busca a página anterior, e baseado na página anterior ele desenvolve tarefas distintas, eu preciso fazer isso porque foi modelado assim, mas quando eu passo pelo servlet e repasso para o jsp usando um forward a página a ser aberta fica com o nome do servlet. O código de redirecionamento que eu estou usando é o seguinte:

RequestDispatcher rd = request.getRequestDispatcher(“pagina.jsp”);
rd.forward(request, response);

Se não tiver como, tem pelo menos algum header q me mostre o nome da página??? eu estou usando o referer mas na segunda passada pelo Servlet, ele fica com o nome do Servlet, tipo:

String paginAnterior = request.getHeader(“referer”);

Desde já obrigado pela atenção

3 Respostas

S

O RequestDispatcher é transparente para o cliente, então é como se ele visse realmente a página que ele solicitou

tente o HttpServeletRequest.redirect(); este não é transparente, ele envia o comando para o browser que ira solicitar a outra página. (para manter o log com as páginas acessadas pelo cliente utilize sessão e algum filtro, é legal usar o design pattern intercept filter)

R

Valew pela ajuda!!!

mas eh que eu preciso das informações do servlet e nao posso coloca-las na session?

o q vc acha?

S

não sei se entendi a sua pergunta mas ai vai…

vc pode colocar na session sim.
.
para pegar a URL use os métodos do HttpServletRequest.getContextPath() , getServletPath e getPathInfo() (deve ter mais algum que retorna tudo junto…)

[]s

Criado 3 de novembro de 2004
Ultima resposta 8 de dez. de 2004
Respostas 3
Participantes 2