Martin,

Upgrading to 1.5.2 and using tomcat 7.0.22 fixed my issue - now I get

> Location: https://localhost/.;jsessionid=176D66D946CA33F54798F8EE1863C475

Thanks
Thomas

On Wed, Nov 16, 2011 at 3:09 PM, Martin Grigorov <[email protected]>wrote:

> On Wed, Nov 16, 2011 at 4:02 PM, thomas willomitzer <[email protected]> wrote:
> > Hi Martin,
> >
> > Sorry for the confusion I meant that i've seen
> > org.apache.wicket.util.string.Strings.stripJSessionId(uri) being called
> for
> > ResourceReferences to Javascript and Css.
>
> This is used to check whether a given resource is already contributed or
> not.
>
> >
> > I'm using wicket 1.5.1 and tomcat 6.0.33.
>
> Try with Wicket 1.5.3. I remember a ticket about such problems with
> the home page without filter path.
> We have a workaround in Wicket but I remember Tomcat also fixed it in
> 7.x, not sure about 6.x.
>
> >
> > You're right - I've traced from
> >
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(String)
> > and it seems like there is a problem with "?1" and
> > org.apache.catalina.connector.toEncoded(String url, String sessionId).
> >
> > In toEncoded(String url, String sessionId) when url = "?1" it seems that
> > the parameter is NOT appended since variable path is of length zero and
> if(
> > sb.length() > 0 ) is false. (in order to see a value of "?1" i set a
> > breakpoint in ServletWebResponse.sendRedirect followed by a breakpoint in
> > toEncoded)
> >
> > Since it seems to work for the rest of the world I guess I'm doing
> > something wrong ...
> >
> >    protected String toEncoded(String url, String sessionId) {
> >
> >        if ((url == null) || (sessionId == null))
> >            return (url);
> >
> >        String path = url;
> >        String query = "";
> >        String anchor = "";
> >        int question = url.indexOf('?');
> >        if (question >= 0) {
> >            path = url.substring(0, question);
> >            query = url.substring(question);
> >        }
> >        int pound = path.indexOf('#');
> >        if (pound >= 0) {
> >            anchor = path.substring(pound);
> >            path = path.substring(0, pound);
> >        }
> >        StringBuffer sb = new StringBuffer(path);
> >        if( sb.length() > 0 ) { // jsessionid can't be first.
> >            sb.append(";");
> >            sb.append(Globals.SESSION_PARAMETER_NAME);
> >            sb.append("=");
> >            sb.append(sessionId);
> >        }
> >        sb.append(anchor);
> >        sb.append(query);
> >        return (sb.toString());
> >
> >    }
> >
> >
> > Thanks
> > Thomas
> >
> >
> > On Wed, Nov 16, 2011 at 1:39 PM, Martin Grigorov <[email protected]
> >wrote:
> >
> >> Hi,
> >>
> >> On Wed, Nov 16, 2011 at 2:29 PM, thomas willomitzer
> >> <[email protected]> wrote:
> >> > Dear all,
> >> >
> >> > I've spent quite a bit of time tracking down a problem I'm having
> using
> >> > wicket and stateful pages.
> >> > I've enabled the jsessionid url rewriting in tomcat (by simply using
> the
> >> > default settings) but I get a redirect url without the jsessionid.
> >> >
> >> > I've traced into tomcat's Response.encodeUrl and saw that the
> jsessionid
> >> is
> >> > in fact appended (but later removed for in page references by wicket -
> >> > that's fine).
> >>
> >> What do you mean by that ? Where Wicket removes the jsessionid from the
> >> url ?
> >> Before issuing a redirect Wicket calls
> >> javax.servlet.http.HttpServletResponse.encodeRedirectURL(String) which
> >> is responsible to put jsessionid if cookies are disabled.
> >> See
> >>
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(String)
> >>
> >> The application I work on works without cookies and all if fine. (Wicket
> >> 1.5.3)
> >>
> >> >
> >> > What am I doing wrong and am I right in the assumption that wicket
> should
> >> > work without cookies?
> >> >
> >> > When using curl I first get a redirect to ?1, then to /. and then a
> 404
> >> >
> >> > $ curl -v http://localhost
> >> > * About to connect() to localhost port 80 (#0)
> >> > *   Trying 127.0.0.1... connected
> >> > * Connected to localhost (127.0.0.1) port 80 (#0)
> >> >> GET / HTTP/1.1
> >> >> User-Agent: curl/7.21.1 (i686-pc-mingw32) libcurl/7.21.1
> OpenSSL/0.9.8k
> >> > zlib/1.2.3
> >> >> Host: localhost
> >> >> Accept: */*
> >> >>
> >> > < HTTP/1.1 302 Moved Temporarily
> >> > < Server: Apache-Coyote/1.1
> >> > < Set-Cookie: JSESSIONID=
> >> > CA5649F5EA37AC7CDB2D5E06170923A1; Path=/
> >> > < Date: Wed, 16 Nov 2011 12:16:15 GMT
> >> > < Expires: Thu, 01 Jan 1970 00:00:00 GMT
> >> > < Pragma: no-cache
> >> > < Cache-Control: no-cache, no-store
> >> > < Location: http://localhost/?1
> >> > < Content-Length: 0
> >> > <
> >> > * Connection #0 to host localhost left intact
> >> > * Closing connection #0
> >> >
> >> > thomas@willo ~
> >> > $ curl -v http://localhost?1 <http://localhost/?1>
> >> > * About to connect() to localhost port 80 (#0)
> >> > *   Trying 127.0.0.1... connected
> >> > * Connected to localhost (127.0.0.1) port 80 (#0)
> >> >> GET /?1 HTTP/1.1
> >> >> User-Agent: curl/7.21.1 (i686-pc-mingw32) libcurl/7.21.1
> OpenSSL/0.9.8k
> >> > zlib/1.2.3
> >> >> Host: localhost
> >> >> Accept: */*
> >> >>
> >> > < HTTP/1.1 302 Moved Temporarily
> >> > < Server: Apache-Coyote/1.1
> >> > < Date: Wed, 16 Nov 2011 12:16:21 GMT
> >> > < Expires: Thu, 01 Jan 1970 00:00:00 GMT
> >> > < Pragma: no-cache
> >> > < Cache-Control: no-cache, no-store
> >> > < Location: http://localhost/.
> >> > < Content-Length: 0
> >> > <
> >> > * Connection #0 to host localhost left intact
> >> > * Closing connection #0
> >> >
> >> > thomas@willo ~
> >> > $ curl -v http://localhost/.
> >> > * About to connect() to localhost port 80 (#0)
> >> > *   Trying 127.0.0.1... connected
> >> > * Connected to localhost (127.0.0.1) port 80 (#0)
> >> >> GET /. HTTP/1.1
> >> >> User-Agent: curl/7.21.1 (i686-pc-mingw32) libcurl/7.21.1
> OpenSSL/0.9.8k
> >> > zlib/1.2.3
> >> >> Host: localhost
> >> >> Accept: */*
> >> >>
> >> > < HTTP/1.1 404 Not Found
> >> > < Server: Apache-Coyote/1.1
> >> > < Content-Type: text/html;charset=utf-8
> >> > < Content-Length: 958
> >> > < Date: Wed, 16 Nov 2011 12:16:24 GMT
> >> > <
> >> > <html><head><title>Apache Tomcat/6.0.33 - Error
> >> report</title><style><!--H1
> >> >
> >>
> {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:
> >> > 22px;} H2
> >> >
> >>
> {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
> >> > H3 {font-family:Tahoma,Arial,sans-serif;color:white;backgro
> >> > und-color:#525D76;font-size:14px;} BODY
> >> >
> >>
> {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B
> >> > {font-family:Tahoma,Arial,sans-serif;color:w
> >> > hite;background-color:#525D76;} P
> >> >
> >>
> {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
> >> > {color : black;}A.name {color : black;}HR
> >> > {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 -
> >> /.</h1><HR
> >> > size="1" noshade="noshade"><p><b>type</b> Status
> >> > report</p><p><b>message</b> <u>/.</
> >> > u></p><p><b>description</b> <u>The requested resource (/.) is not
> >> > available.</u></p><HR size="1" noshade="noshade"><h3>Apache
> >> > Tomcat/6.0.33</h3></body></html>*
> >> > Connection #0 to host localhost left intact
> >> > * Closing connection #0
> >> >
> >>
> >>
> >>
> >> --
> >> Martin Grigorov
> >> jWeekend
> >> Training, Consulting, Development
> >> http://jWeekend.com
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to