Re: Regression? Unable to find resource resource/*;jsessionid=* on first page request
yes you are right Mike. I wasn´t aware of this. Thanks for the fix. 2005/12/5, Mike Kienenberger [EMAIL PROTECTED]: Ok. Hearing no objections, or comments of any sort today, I guess I'll go ahead and commit this change, and someone can change it back if I'm wrong. On 12/5/05, Mike Kienenberger [EMAIL PROTECTED] wrote: I'm looking into this, and it appears that the problem is that the new code uses public void serveResource(HttpServletRequest request, HttpServletResponse response) throws IOException { String uri = request.getRequestURI(); for which the javadocs read The web container does not decode this String Reading through the spec, I see that: requestURI = contextPath + servletPath + pathInfo so String uri = request.getContextPath() + request.getServletPath() + request.getPathInfo(); I'm pretty ignorant when it comes to the fine details of servlets. Is this going to be sufficient/equivalent/acceptable as a fix? My limited testing seems to show this change to be working. On 12/5/05, Mike Kienenberger [EMAIL PROTECTED] wrote: Sometime between 10/24 and 11/28, Myfaces stopped loading resources on a page request with a new session fragment. I'm guessing there must have originally been code to handle the ;jsession=* part of the URL that somehow was removed. Once the session is created, (on the next request) the resources are found again. Any of the AddResource committers have a quick fix for this, or should I open a JIRA issue? 13:38:30.250 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/WH/theme.css;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.281 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/DB/theme.css;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.312 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/prototype.js;jsessionid=460q0o5pdbm8f for component prototype.PrototypeResourceLoader. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.390 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/date.js;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.421 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/popcalendar_init.js;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.437 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/popcalendar.js;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.500 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/defaultStyles.css;jsessionid=460q0o5pdbm8f for component tabbedpane.HtmlTabbedPaneRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.656 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/dynamicTabs.js;jsessionid=460q0o5pdbm8f for component tabbedpane.HtmlTabbedPaneRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. -- Mathias
Regression? Unable to find resource resource/*;jsessionid=* on first page request
Sometime between 10/24 and 11/28, Myfaces stopped loading resources on a page request with a new session fragment. I'm guessing there must have originally been code to handle the ;jsession=* part of the URL that somehow was removed. Once the session is created, (on the next request) the resources are found again. Any of the AddResource committers have a quick fix for this, or should I open a JIRA issue? 13:38:30.250 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/WH/theme.css;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.281 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/DB/theme.css;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.312 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/prototype.js;jsessionid=460q0o5pdbm8f for component prototype.PrototypeResourceLoader. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.390 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/date.js;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.421 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/popcalendar_init.js;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.437 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/popcalendar.js;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.500 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/defaultStyles.css;jsessionid=460q0o5pdbm8f for component tabbedpane.HtmlTabbedPaneRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.656 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/dynamicTabs.js;jsessionid=460q0o5pdbm8f for component tabbedpane.HtmlTabbedPaneRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory.
Re: Regression? Unable to find resource resource/*;jsessionid=* on first page request
Ok. Hearing no objections, or comments of any sort today, I guess I'll go ahead and commit this change, and someone can change it back if I'm wrong. On 12/5/05, Mike Kienenberger [EMAIL PROTECTED] wrote: I'm looking into this, and it appears that the problem is that the new code uses public void serveResource(HttpServletRequest request, HttpServletResponse response) throws IOException { String uri = request.getRequestURI(); for which the javadocs read The web container does not decode this String Reading through the spec, I see that: requestURI = contextPath + servletPath + pathInfo so String uri = request.getContextPath() + request.getServletPath() + request.getPathInfo(); I'm pretty ignorant when it comes to the fine details of servlets. Is this going to be sufficient/equivalent/acceptable as a fix? My limited testing seems to show this change to be working. On 12/5/05, Mike Kienenberger [EMAIL PROTECTED] wrote: Sometime between 10/24 and 11/28, Myfaces stopped loading resources on a page request with a new session fragment. I'm guessing there must have originally been code to handle the ;jsession=* part of the URL that somehow was removed. Once the session is created, (on the next request) the resources are found again. Any of the AddResource committers have a quick fix for this, or should I open a JIRA issue? 13:38:30.250 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/WH/theme.css;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.281 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/DB/theme.css;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.312 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/prototype.js;jsessionid=460q0o5pdbm8f for component prototype.PrototypeResourceLoader. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.390 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/date.js;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.421 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/popcalendar_init.js;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.437 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/popcalendar.js;jsessionid=460q0o5pdbm8f for component calendar.HtmlCalendarRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.500 ERROR! [SocketListener0-0] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/defaultStyles.css;jsessionid=460q0o5pdbm8f for component tabbedpane.HtmlTabbedPaneRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory. 13:38:30.656 ERROR! [SocketListener0-1] org.apache.myfaces.component.html.util.MyFacesResourceLoader.serveResource(MyfacesResourceLoader.java:144) 26 Unable to find resource resource/dynamicTabs.js;jsessionid=460q0o5pdbm8f for component tabbedpane.HtmlTabbedPaneRenderer. Check that this file is available in the classpath in sub-directory /resource of the package-directory.