303 would execute a GET instead of POST on the new url. More over, i need
*something* which works when cookies are rejected by the browser. I would
prefer 302 but 302 does not work when cookies are disabled because wicket
checks if its a temporarly or permanent move - if its permanent it sets the
Location header, otherwise not (which makes troubles). And i still dont
think this is jetty related. I will test this in a few days when i find
some time on glassfish. As workaround i use 301 but i guess the customer
will notice that and complain, because 301 has some impact on URLs
(bookmarks, cache etc.) in the browser.


2013/4/4 Martin Grigorov <[email protected]>

> OK, I see
>
> public RedirectRequestHandler(final String redirectUrl, final int status)
> {
> if ((status != HttpServletResponse.SC_MOVED_PERMANENTLY) &&
>  (status != HttpServletResponse.SC_MOVED_TEMPORARILY))
> {
> throw new IllegalStateException("Status must be either 301 or 302, but was:
> " + status);
>  }
>
> I'm not sure why there is such restriction. Maybe Igor can explain, git
> blames him.
>
> What is your reason to use code 303 ? How its semantics are better than 302
> in your case ?
>
>
>
> On Thu, Apr 4, 2013 at 4:35 PM, Oliver Zemann <[email protected]
> >wrote:
>
> > But the warning is thrown by wicket itself that 303 is not allowed. So i
> am
> > very sure this is a wicket problem. I use jetty 9 as web server. So the
> > problems with 301/302 could be related to jetty, but the not working 303
> (i
> > get that exception in wicket) is some kind of problem in wicket.
> >
> >
> > 2013/4/4 Martin Grigorov <[email protected]>
> >
> > > Hi,
> > >
> > > I'm not familiar with http code 303 (see other) but if there is a
> problem
> > > then you should ask in the forums of the used web container or web
> > browser.
> > > Wicket just sets response headers via Servlet APIs but the actual work
> is
> > > done by the container - to set the header, and by the browser - to read
> > the
> > > value and interpret it.
> > >
> > >
> > > On Thu, Apr 4, 2013 at 10:04 AM, Oliver Zemann <
> [email protected]
> > > >wrote:
> > >
> > > > Hi
> > > >
> > > > I created a wicket quickstart:
> > > > https://github.com/olze/WicketRedirect.git
> > > >
> > > > The SC_SEE_OTHER which is defined in the RFC for HTTP 1.1 (iirc Jan.
> > > 1997)
> > > > was explaining that this should work (sending a post to the
> application
> > > > which uses GET to get the page from the redirected URL) is not
> working,
> > > it
> > > > says only 301 and 302 are allowed.
> > > > Why?
> > > >
> > > > When using 301 it works as expected when cookies are disabled. When
> > > cookies
> > > > are disabled and 302 is used, it redirects to the local site and not
> to
> > > the
> > > > external one because of the missing Location header. Is this a bug or
> > > did i
> > > > understand something wrong? I thought 302 should be used when wicket
> > > should
> > > > redirect to an external URL.
> > > >
> > > > Thanks
> > > > Oliver
> > > >
> > >
> > >
> > >
> > > --
> > > Martin Grigorov
> > > jWeekend
> > > Training, Consulting, Development
> > > http://jWeekend.com <http://jweekend.com/>
> > >
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com <http://jweekend.com/>
>

Reply via email to