This week's giveaway is in the Java/Jakarta EE forum.
We're giving away four copies of Java EE 8 High Performance and have Romain Manni-Bucau on-line!
See welcome thread
Win a copy of Java EE 8 High Performance this week in the Java/Jakarta EE forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

JSTL (c:url) - problem with jsessionid  RSS feed

Ranch Hand
Posts: 32
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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"/>

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).

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 :;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 then everythink is fine. the <c:url value="some-resource"> encodes url properly and gives the following;jsessionid=##some_id##

Question: Where is the problem, is anybody can help. Is there any parameters that have to be set additionally?
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!