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