Hi Ben, I'm on holidays for a week now. I'll let you know when I'm back.
cheers Kai --- Original Nachricht --- Absender: Ben Gunter Datum: 17.08.2007 01:12 > That's odd...I can't reproduce this using the same extension-mapping > configuration you have. What does your @UrlBinding, servlet mapping, > etc. look like? Also, I just made one more minor tweak so please update > and test again. > > -Ben > > Kai Grabfelder wrote: >> 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 >> > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > 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
