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

Reply via email to