Sorry ... wicket 1.5.3

On Wed, Nov 16, 2011 at 5:11 PM, thomas willomitzer <[email protected]> wrote:

> 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