This question already has answers here:
Browser can't access/find relative resources like CSS, images and links when calling a Servlet which forwards to a JSP
                                
                                    (8个答案)
                                
                        
                                3年前关闭。
            
                    
我正在使用ff4j Web库在Java Web应用程序中进行切换。 Web控制台的URL解析为
      本地主机:8443 / bat / ff4j-console
 但是html中的静态资源解析为localhost:8443 / bat / static / images。
 如何在localhost:8443 / bat / ff4j-console / static中找到静态资源。

 In essence, how to use relative path. I have configured ff4j servlet in web.xml

最佳答案

您能否确认您使用的是1.6版本。正如您所提到的,我在这里放置了XML定义示例(web.xml)。

<!-- Embedded Console -->
<servlet>
    <servlet-name>ff4j-console</servlet-name>
    <servlet-class>org.ff4j.web.FF4jDispatcherServlet</servlet-class>
    <init-param>
        <param-name>ff4jProvider</param-name>
        <param-value>org.ff4j.sample.SimpleFF4jProvider</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>ff4j-console</servlet-name>
    <url-pattern>/ff4j-console/*</url-pattern>
</servlet-mapping>


然后请注意,URL末尾必须有一个斜线。

您的网址不是localhost:8443/bat/ff4j-console,而是localhost:8443/bat/ff4j-console/

这应该解决找不到的静态问题并显示所有图片。

这是Thymeleaf和XML定义的问题(看起来是/ *)。如果您有想法,欢迎在这里定义它https://github.com/clun/ff4j/blob/master/ff4j-web/src/main/java/org/ff4j/web/FF4jServlet.java#L172-L182

10-01 12:06