Hi there,
I have the following configuration:
Tomcat, JSTL,
Struts.
1. The Tomcat's server.xml contains the following context section:
<Context path="" docBase="/path-to-unpackedWAR/">
<Parameter name="some-name" value="some-value"/>
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_myapp_log." suffix=".txt" timestamp="true"/>
</Context>
the docBase elements points to the location where previously I have unpacked the application's war file.
2. Used is JSTL's <c:url> tag to ensure URL encoding (for disabled cookies scenario).
RESULT:
Running Tomcat went smoothly and the application has been starteed normally. Everything works fine in the case that the browser has enabled cookies.
THE PROBLEM: when cookies has been disabled in the browser, this ends up in encoding sessionid 2 times thus resulting in not available resource. I.e. when I poin to the link produced by <c:url value="some-resource"> this will produce the following link :
http://mysite.com/some-resource;jsessionid=##some_id##;jsessionid=##some_id## What I have found:
If I change the path element of the Context (i.e <Context path="/it_works") and access the site by
http://mysite.com/it_works then everythink is fine. the <c:url value="some-resource"> encodes url properly and gives the following
http://mysite.com/it_works/some-resource;jsessionid=##some_id## Question: Where is the problem, is anybody can help. Is there any parameters that have to be set additionally?
[ October 13, 2004: Message edited by: Deyan Sultov ]