I've just developed another component that I will commit to JFly this evening. It measures the rendering time (RenderTimeTracker) of a page.
So I could verify that the rendering time is the same. The before attribute seems not to enhance performances On 4/18/07, Andrea Chiumenti <[EMAIL PROTECTED]> wrote:
Thanks Andreas, it works!, but could you tell me why <filter before="tapestry.request.SetupRequestEncoding" name="disableUrlSessionFilter" object="service: jfly.webcommons.disableUrlSessionFilter"/> is faster then the same filter without before ? At least it seems to me! On 4/18/07, Andreas Andreou <[EMAIL PROTECTED]> wrote: > > For this, better use > http://tapestry.apache.org/tapestry4/tapestry/apidocs/org/apache/tapestry/services/ServletRequestServicerFilter.html > > > > On 4/18/07, Andrea Chiumenti <[EMAIL PROTECTED]> wrote: > > > > As suggested by Andreas I've added this filter ( > > http://randomcoder.com/articles/jsessionid-considered-harmful) to the > demo > > app, and now it's working. > > > > So I've decided to implement this solution in a more Tapestry fashion > and > > wrote the following class: > > > > > ----------------------------------------------------------------------------------------------------------- > > > > public class DisableUrlSessionFilter implements > WebRequestServicerFilter{ > > private HttpServletResponse response; > > private HttpServletRequest request; > > > > public void service(WebRequest webRequest, WebResponse > webResponse, > > WebRequestServicer webRequestServicer) throws IOException { > > HttpServletResponseWrapper wrappedResponse = new > > HttpServletResponseWrapper(response) { > > > > public String encodeRedirectUrl(String url) { > > return url; > > } > > public String encodeRedirectURL(String url) { > > return url; > > } > > public String encodeUrl(String url) { > > return url; > > } > > public String encodeURL(String url) { > > return url; > > } > > }; > > > > ServletWebResponse newResponse = new > > ServletWebResponse(wrappedResponse); > > webRequestServicer.service (webRequest, newResponse); > > } > > > > public HttpServletRequest getRequest() { > > return request; > > } > > > > public void setRequest(HttpServletRequest request) { > > this.request = request; > > } > > > > public HttpServletResponse getResponse() { > > return response; > > } > > > > public void setResponse(HttpServletResponse response) { > > this.response = response; > > } > > } > > > > ----------------------------------------------------------------- > > Then I added to hive module the following lines: > > <contribution configuration-id=" > > tapestry.request.WebRequestServicerPipeline > > "> > > <filter name="disableUrlSessionFilter" object="service: > > jfly.webcommons.disableUrlSessionFilter"/> > > </contribution> > > > > The problem is that it doesn't work as the filter because the > jsessionid > > problem remains, so the HttpServletResponseWrapper encodeURL is never > > called. > > > > Why my WebRequestServicerFilter doesn't work ? > > > > > > -- > Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr > Tapestry / Tacos developer > Open Source / JEE Consulting >