Hi Ben, no problem and thanks for the change. Unfortunatly you must have changed something else with the 590 revision, because now I'm getting an endless loop in the rewriteRequest method / the Stripes Filter which seems to call itself in a loop.
Any ideas? Regards Kai Thread [btpool0-3] (Suspended (breakpoint at line 322 in StripesFilter)) StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 322 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 201 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268 Dispatcher.forward(ServletRequest, ServletResponse) line: 126 StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, HttpServletResponse) line: 325 StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 200 ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1089 ServletHandler(ServletHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 365 SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216 SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 181 WebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 712 WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 405 ContextHandlerCollection.handle(String, HttpServletRequest, HttpServletResponse, int) line: 211 HandlerCollection.handle(String, HttpServletRequest, HttpServletResponse, int) line: 114 Server(HandlerWrapper).handle(String, HttpServletRequest, HttpServletResponse, int) line: 139 Server.handle(HttpConnection) line: 285 HttpConnection.handleRequest() line: 502 HttpConnection$RequestHandler.headerComplete() line: 821 HttpParser.parseNext() line: 513 HttpParser.parseAvailable() line: 208 HttpConnection.handle() line: 378 SelectChannelConnector$ConnectorEndPoint(SelectChannelEndPoint).run() line: 368 BoundedThreadPool$PoolThread.run() line: 442 --- Original Nachricht --- Absender: Ben Gunter Datum: 16.08.2007 14:39 > The change is in. > > Revision: 598 > http://stripes.svn.sourceforge.net/stripes/?rev=598&view=rev > Author: bengunter > Date: 2007-08-16 05:36:00 -0700 (Thu, 16 Aug 2007) > > Log Message: > ----------- > Backed out a change from revision 590 that forwards to the @UrlBinding > base path instead of to the original request URI. If DispatcherServlet is > mapped to an extension and that extension is specified in a trailing literal > in @UrlBinding (e.g. /some/action/{foo}.bar), then the extension is lost on > forward and thus is not invoked in such a scenario. > > -Ben > > Ben Gunter wrote: >> Kai, sorry for the slow response. I've been crushed at work lately. >> That change was intended to be a performance enhancement. The idea was >> that if I use the base URL on forward then the filter won't have to go >> through the process again of trimming down the URL until it finds the >> longest matching @UrlBinding. >> >> It took me a few minutes, but now I understand how this has broken >> your code. You're mapping to an extension, and the extension is not >> there on the forward. It does look like it needs to be changed back. >> Oops... >> >> -Ben >> >> Kai Grabfelder wrote: >>> Hi there, >>> >>> any news about this? What about other stripes users: is the clean url stuff >>> still working for you? >>> >>> Regards >>> >>> Kai >>> >>> --- Original Nachricht --- >>> Absender: Kai Grabfelder >>> Datum: 10.08.2007 21:26 >>> >>>> Hi Ben, >>>> >>>> Revision 590 (StripesFilter) broke the clean urls stuff for me. Here is >>>> the story: >>>> >>>> the url mapping on my action bean looks like this: >>>> /community/user/{id}/index.htm >>>> >>>> I try to open the following url /community/user/foo/index.htm >>>> >>>> I have the following mappings in the web.xml: >>>> >>>> <servlet-mapping> >>>> <servlet-name>StripesDispatcher</servlet-name> >>>> <url-pattern>*.htm</url-pattern> >>>> </servlet-mapping> >>>> >>>> <filter-mapping> >>>> <filter-name>StripesFilter</filter-name> >>>> <url-pattern>*.jsp</url-pattern> >>>> <dispatcher>REQUEST</dispatcher> >>>> </filter-mapping> >>>> <filter-mapping> >>>> <filter-name>StripesFilter</filter-name> >>>> <url-pattern>*.htm</url-pattern> >>>> <dispatcher>FORWARD</dispatcher> >>>> </filter-mapping> >>>> >>>> Before revision 590 the url for rewriting looked like this: >>>> url = new StringBuilder(request.getRequestURI()); >>>> >>>> now it looks like this: >>>> url = new StringBuilder(binding.getPath()); >>>> >>>> This can't obviously work because afterwards he is trying to do a forward >>>> to >>>> /community/user/?id=foo >>>> >>>> before it would have been >>>> /community/user/foo/index.htm?id=foo >>>> >>>> Any idea how this can be fixed? Maybe by adding the suffix of the original >>>> request to the url that is forwarded? >>>> >>>> Many thankx in advance >>>> >>>> Regards >>>> >>>> Kai >>>> > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > > > ------------------------------------------------------------------------ > > _______________________________________________ > Stripes-development mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/stripes-development ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Stripes-development mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/stripes-development
