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.
>

Reply via email to