Try encoding the ';' as follows:
<%
String refresh =
response.encodeURL("https://www.myserver.com/login/index.jsp");
int jssid = refresh.indexOf(";jsessionid");
if(jssid > 0) {
refresh = refesh.substring(0, jssid) + "%3b" +
refresh.substring(jssid+1);
}
%>
<META http-equiv="refresh" CONTENT="0; URL=<%= refresh %>">
"Raiden" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> Hello,
>
> As is seen by searching the list archive, this problem has come up quite a
> bit, but there doesn't seem to be an agreed upon solution.
>
> The problem occurs in the following html code:
>
> <meta http-equiv="Refresh"
>
content="0;URL=https://www.myserver.com/login/index.jsp;jsessionid=3E9F55499
DCAE154870AD0FAE5B30C20?source=test">
>
> The ;jsessionid is ignored by the browser. So, it appears that you cannot
> maintain session through URL rewriting (cookies are off), if you use a
> meta refresh.
>
> One solution that I've seen is to replace the ; with a ?, so the browser
> will accept and process the entire URL... and then intercept the browser's
> request before it gets back to the tomcat instance, and change the ? back
> to a ; (since I'm using Apache... I'd use mod_rewrite)
>
> Are there any problems with this solution? Would a browser ever reject it
> for having two ? 's? (one for the ;jsessionid and one for the normal
> query string)
>
> This seems like a pretty rough solution. Does anyone have any better
> ideas?
>
> Thanks,
> Raiden
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>