After closer inspection, I noticed that with the original code (as outlined below), the first visit to the page gets me one JSESSIONID cookie with a path of "/cocoon". As soon as I begin to browse around on the site, the request object passed into the filter now has a JSESSIONID cookie, and the correct path is assigned through the wrapper; this effectively creates two cookies (one for each path). If I end my session, it always creates the cookie with path "/cocoon" first, and then creates the second cookie only when I click around. My question is, why isn't this cookie added via the RequestWrapper the first time around?
Also. I have a cookie of my own that I use for the site, and I set the path to "/" through Cookie.setPath(). This works fine until I try using the RequestWrapper; now, when the addCookie() method gets called, the supplied cookie has a path of null. The effect of this is that the current directory is assigned to the path, and I have as many cookies with this name as I have directories that I've visited. What could be causing this, and how could I resolve it? Thanks again for the continued assistance, it's much appreciated. Liam Morley Christoph Gaffga wrote: >It think that when your webapp is under webapps/cocoon, the cookie-Path is >alway /cocoon. >If you don't want that, then you could run your webapp as webapps/ROOT (your >cookie-path will be /). > >For me that's no enought. I modify the JSESSIONID-cookie (and the path) in >the following way: > >I've the following in my WEB-INF/web.xml-File > > <filter> > <filter-name>RequestWrapper</filter-name> > <filter-class>com.triplemind.asp.server.RequestWrapper</filter-class> > </filter> > <filter-mapping> > <filter-name>RequestWrapper</filter-name> > <servlet-name>Cocoon2</servlet-name> > </filter-mapping> > >so that every request to cocoon goes through my RequestWrapper-Class. >In my RequestWrapper I can change the cookies. > >public class RequestWrapper implements Filter { > ... > public void doFilter(ServletRequest request, > ServletResponse response, FilterChain chain) { > if(request instanceof HttpServletRequest && response instanceof >HttpServletResponse) { > response = new MyHttpResponseWrapper(response); > } > chain.doFilter(request, response); > } > ... > } > > >public class MyHttpResponseWrapper extends HttpServletResponseWrapper { > public void addCookie(Cookie cookie) { > if(cookie.getName().equals("JSESSIONID")) { > cookie.setPath("/whereever-you-want/dir/"); > cookie.setDomain("mydomain.com"); > // you can also set expiry, etc... > } > super.addCookie(cookie); > } > >} > > >yours >Christoph Gaffga >[EMAIL PROTECTED] > > > >----- Original Message ----- >From: "Liam Morley" <[EMAIL PROTECTED]> >To: <[EMAIL PROTECTED]> >Sent: Friday, June 14, 2002 4:39 PM >Subject: Re: JSESSIONID had /cocoon as path > > > > >>This is new to me. Would you by any chance mind explaining more in >>depth? I'm trying to rewrite the URL so that cocoon is not in the URL, >>but then sessions don't work.. >> >>Thank you very much, >>Liam Morley >> >>Christoph Gaffga wrote: >> >> >> >>>Hi, i'm looking for a way to change the cookie path also. >>>At the Moment I'm using a filter-Class infront of >>>the cocoon-Servlet and wrap the ServletResponse, but it >>>would be nice to just edit the config file. >>> >>>Christoph Gaffga >>>[EMAIL PROTECTED] >>> >>> >>>----- Original Message ----- >>>From: "Liam Morley" <[EMAIL PROTECTED]> >>>To: <[EMAIL PROTECTED]> >>>Sent: Friday, June 14, 2002 4:21 PM >>>Subject: JSESSIONID had /cocoon as path >>> >>> >>> >>> >>> >>> >>>>Is there a way to edit the path for the JSESSIONID cookie? >>>> >>>>Thanks, >>>>Liam Morley >>>> >>>> >>>>--------------------------------------------------------------------- >>>>Please check that your question has not already been answered in the >>>>FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> >>>> >>>>To unsubscribe, e-mail: <[EMAIL PROTECTED]> >>>>For additional commands, e-mail: <[EMAIL PROTECTED]> >>>> >>>> >>>> >>>> >>>--------------------------------------------------------------------- >>>Please check that your question has not already been answered in the >>>FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> >>> >>>To unsubscribe, e-mail: <[EMAIL PROTECTED]> >>>For additional commands, e-mail: <[EMAIL PROTECTED]> >>> >>> >>> >>> >>> >>> >>> > > > > > --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>