encodeUrl

12 respostas
K

como faço para adicionar o JSessionID nas URLS na minha aplicação ???

ex:

http://www.guj.com.br/forums/list.java;jsessionid=FABB4B379CB339D965084BA1D39720C6

:wink:

12 Respostas

_fs

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?

K

Obrigado pela resposta…

estou usando o Tomcat 5…

:wink:

Rafael_Steil

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

K

então somente no Jetty o JSessionID é adicionado à URL ???

:wink:

Rafael_Steil

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&param2=xxxx;jsessionid=123, o codigo

String uri = request.getRequestURI()

vai te retornar “pagina.jsp?param1=valor1&param2=xxxx”. Se voce rodar o mesmo sistema no Jetty, vc vai receber “pagina.jsp?param1=valor1&param2=xxxx;jsessionid=123,”.

Rafael

K

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… !?

:wink:

Rafael_Steil

naaaaaaaaaaaaaaaaao… funciona em TODOS.

Rafael

K

aff…

Rafael, me passa em exemplo… de como adicionar o SessionID na URL…

eu devo utilizar o encodeUrl ??

:wink:

Rafael_Steil

Sim, use o encodeURL().

Rafael

K

estou fazendo assim e não funciona:

a href="<% response.encodeURL("nomes.jsp"); %>">Nomes</a>

:wink:

Rafael_Steil

Nao vai funcionar mesmo. Como eu mostrei na 4a mensagem deste topico, o metodo encodeURL() faz parte da classe URLEncoder.

Rafael

Diogenes
Ooops!

<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/net/URLEncoder.html#encode(java.lang.String)" data-bbcode="true">java.net.URLEncoder.encode("…")</a>

<a href="http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpServletResponse.html#encodeURL(java.lang.String)" data-bbcode="true">javax.servlet.http.HttpServletResponse.encodeURL("…")</a>
Criado 12 de abril de 2005
Ultima resposta 13 de abr. de 2005
Respostas 12
Participantes 4