2 Replies Latest reply on May 28, 2010 10:51 AM by henry katz

    3.3.3.Final breaks URL resource behavior

    henry katz Newbie

      Hello,

       

      Under 3.3.3.CR1, I had the following:

       

      <h:graphicImage value="resource:///images/XXXX_logo.jpg" />

       

      in my layout which correctly resolved to:

       

      <img src="/muni/genesis/qa/images/XXXX_logo.jpg">

       

      Now, in 3.3.3.Final, this resolves to:

       

      <img src="/genesis/spring/a4j/g/3_3_3.Final/images/XXXX_logo.jpg">

       

      which breaks the image.

       

      I don't see anything in release notes (http://goo.gl/2v59) to suggest this behavior should have been altered.

       

      Any quick fix?

       

      Thanks,

      Henry

        • 2. Re: 3.3.3.Final breaks URL resource behavior
          henry katz Newbie

          web.xml follows (it has not changed with the update to 3.3.3.Final from 3.3.3.CR1 yesterday):

           

          <?xml version="1.0" encoding="ISO-8859-1"?>
          <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee            http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
          <description>carat2 enhancement</description>
          <display-name>genesis</display-name>
          <!-- Spring: All XML listed here will be listened and loaded by Context Root -->
          <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/config/web-application-config.xml</param-value>
          </context-param>
          <context-param>
            <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
            <param-value>.xhtml</param-value>
          </context-param>
          <!-- Enables special Facelets debug output during development -->
          <context-param>
            <param-name>facelets.DEVELOPMENT</param-name>
            <param-value>true</param-value>
          </context-param>
          <!-- Causes Facelets to refresh templates during development -->
          <context-param>
            <param-name>facelets.REFRESH_PERIOD</param-name>
            <param-value>1</param-value>
          </context-param>
          <context-param>
            <param-name>org.ajax4jsf.xmlparser.ORDER</param-name>
            <param-value>TIDY,NONE,NEKO</param-value>
          </context-param>
          <context-param>
            <param-name>org.richfaces.LoadStyleStrategy</param-name>
            <param-value>ALL</param-value>
          </context-param>
          <context-param>
            <param-name>org.richfaces.LoadScriptStrategy</param-name>
            <param-value>DEFAULT</param-value>
          </context-param>
          <context-param>
            <param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
            <param-value>false</param-value>
          </context-param>
          <context-param>
            <param-name>org.richfaces.CONTROL_SKINNING</param-name>
            <param-value>enable</param-value>
          </context-param>
          <context-param>
            <param-name>org.ajax4jsf.SKIN</param-name>
            <param-value>muni</param-value>
          </context-param>
          <filter>
            <filter-name>charEncodingFilter</filter-name>
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
            <init-param>
             <param-name>encoding</param-name>
             <param-value>UTF-8</param-value>
            </init-param>
            <init-param>
             <param-name>forceEncoding</param-name>
             <param-value>true</param-value>
            </init-param>
          </filter>
          <!-- Spring security -->
          <filter>
            <filter-name>springSecurityFilterChain</filter-name>
            <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
          </filter>
          <filter>
            <display-name>RichFaces Filter</display-name>
            <filter-name>richfaces</filter-name>
            <filter-class>org.ajax4jsf.Filter</filter-class>
          </filter>
          <filter-mapping>
            <filter-name>charEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
          </filter-mapping>
          <filter-mapping>
            <filter-name>springSecurityFilterChain</filter-name>
            <url-pattern>/*</url-pattern>
            <dispatcher>FORWARD</dispatcher>
            <dispatcher>REQUEST</dispatcher>
          </filter-mapping>
          <filter-mapping>
            <filter-name>richfaces</filter-name>
            <servlet-name>SpringMVC</servlet-name>
            <dispatcher>REQUEST</dispatcher>
            <dispatcher>FORWARD</dispatcher>
            <dispatcher>INCLUDE</dispatcher>
          </filter-mapping>
          <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
          </listener>
          <!-- Support for concurrent session control to application - - >
              <listener>
                  <listener-class>
                      org.springframework.security.ui.session.HttpSessionEventPublisher
                  </listener-class>
              </listener
          Session listener to clean db connection pool from memory -->
          <listener>
            <listener-class>com.bofa.muni.genesis.servlet.filters.AppSessionListener</listener-class>
          </listener>
          <!-- Just here for CARAT app initialization, *not* used at runtime -->
          <servlet>
            <servlet-name>CaratMainServlet</servlet-name>
            <servlet-class>com.bofa.muni.genesis.servlet.CaratMainServlet</servlet-class>
            <load-on-startup>2</load-on-startup>
          </servlet>
          <servlet>
            <servlet-name>Resources Servlet</servlet-name>
            <servlet-class>org.springframework.js.resource.ResourceServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
          </servlet>
          <servlet>
            <servlet-name>ImageServlet</servlet-name>
            <servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>
            <load-on-startup>2</load-on-startup>
          </servlet>
          <servlet>
            <servlet-name>RptServlet</servlet-name>
            <servlet-class>com.bofa.muni.genesis.report.servlet.ReportServlet</servlet-class>
          </servlet>
          <!-- Just here so the JSF implementation can initialize, *not* used at runtime -->
          <servlet>
            <servlet-name>Faces Servlet</servlet-name>
            <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
            <load-on-startup>0</load-on-startup>
          </servlet>
          <!-- Spring MVC front controller. Automatically loads CaratApp-servlet.xml
                   based on servlet name. But we have named our servlet-config.xml as
                   caratapp-servlet-config.xml hence contextConfigLocation.
                   Additionally loading caratapp-webflow-config.xml.
              -->
          <servlet>
            <servlet-name>SpringMVC</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
             <param-name>contextConfigLocation</param-name>
             <param-value/>
            </init-param>
            <load-on-startup>2</load-on-startup>
          </servlet>
          <servlet-mapping>
            <servlet-name>ImageServlet</servlet-name>
            <url-pattern>/images</url-pattern>
          </servlet-mapping>
          <servlet-mapping>
            <servlet-name>RptServlet</servlet-name>
            <url-pattern>/servlets/rpt</url-pattern>
          </servlet-mapping>
          <!--
                  Map all /resources requests to the Resource Servlet for handling
              -->
          <servlet-mapping>
            <servlet-name>Resources Servlet</servlet-name>
            <url-pattern>/resources/*</url-pattern>
          </servlet-mapping>
          <!-- Just here so the JSF implementation can initialize -->
          <servlet-mapping>
            <servlet-name>Faces Servlet</servlet-name>
            <url-pattern>*.faces</url-pattern>
          </servlet-mapping>
          <servlet-mapping>
            <servlet-name>SpringMVC</servlet-name>
            <url-pattern>/spring/*</url-pattern>
          </servlet-mapping>
          <!-- Welcome page to redirect users to entry point -->
          <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <!-- welcome-file>/jsp/index.jsp</welcome-file -->
          </welcome-file-list>
          <login-config>
            <auth-method>BASIC</auth-method>
          </login-config>
          </web-app>