como faço para adicionar o JSessionID nas URLS na minha aplicação ???
[quote]ex:
http://www.guj.com.br/forums/list.java;jsessionid=FABB4B379CB339D965084BA1D39720C6[/quote]
como faço para adicionar o JSessionID nas URLS na minha aplicação ???
[quote]ex:
http://www.guj.com.br/forums/list.java;jsessionid=FABB4B379CB339D965084BA1D39720C6[/quote]
No caso do Jetty, por default ele usa cookies e não URL rewriting, mas se o browser não suporta cookies ele troca o comportamento.
Qual Servlet Container está usando?
Obrigado pela resposta…
estou usando o Tomcat 5…
eh URLEncoder.encodeURL() em todos os casos (Jetty, Tomcat, Bla… )
A diferenca eh que, no Jetty, ao receber um request que sofreu rewrite, o getRequestURI() vai retornar a url com o jsessionid, enquanto no Tomcat vem a url sem tal parametro.
Rafael
então somente no Jetty o JSessionID é adicionado à URL ???
Nao, em todos os containers. Isso faz parte da especificacao. O que eu quis dizer eh que, qdo o usuario clica numa url que tem esse parametro e vc esta usando o Tomcat, o getRequestURI() vai te retornar a url SEM o jsessionid. Ou seja, se a url eh pagina.jsp?param1=valor1¶m2=xxxx;jsessionid=123, o codigo
String uri = request.getRequestURI()
vai te retornar “pagina.jsp?param1=valor1¶m2=xxxx”. Se voce rodar o mesmo sistema no Jetty, vc vai receber “pagina.jsp?param1=valor1¶m2=xxxx;jsessionid=123,”.
Rafael
resumindo… eu só vou consiguir adicoinar o JSession (de forma que possa ser visível), se for em outro container… pois o tomcat “esconde” o ID… !?
naaaaaaaaaaaaaaaaao… funciona em TODOS.
Rafael
aff…
Rafael, me passa em exemplo… de como adicionar o SessionID na URL…
eu devo utilizar o encodeUrl ??
Sim, use o encodeURL().
Rafael
estou fazendo assim e não funciona:
a href="<% response.encodeURL("nomes.jsp"); %>">Nomes</a>
Nao vai funcionar mesmo. Como eu mostrei na 4a mensagem deste topico, o metodo encodeURL() faz parte da classe URLEncoder.
Rafael