在spring-mvc应用程序中放置图像/ CSS的位置?

Saj*_*jee 14 spring-mvc

我使用Netbeans创建了一个Spring MVC 3.0应用程序.我有一个简单的控制器和JSP视图.除了不呈现的图像之外,JSP视图正确显示.我的目录结构如下所示: 替代文字

在我的Home.jsp页面中,未呈现的图像被引用如下:

<img src="Images/face.png" />
Run Code Online (Sandbox Code Playgroud)

我已经验证face.png位于Images目录中.那么为什么它不会出现在浏览器中呢?在Spring MVC中,我应该在哪里放置JSP视图引用的文件,如图像,CSS,JS等?

Gof*_*ier 36

更改web.xml文件:

<servlet>
    <servlet-name>spring-servlet</servlet-name>
    <servlet-class>com.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>spring-servlet</servlet-name>
    <url-pattern>/<url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

并在其后添加以下配置:

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.png</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

如果您有更好的解决方案,请与我分享.


Ian*_*las 0

我相信它只能引用 WEB-INF 文件夹中的 images/css 。将Images文件夹移至 WEB-INF 应该可以解决您的问题。