我正在使用 spring MVC 来运行我的动态 Web 应用程序。我能够编写一个并成功运行该应用程序。但问题在于加载图像、JS 和 CSS 等资源文件。我收到文件加载资源失败。关键是我将 JSP 文件放在 WEB-INF 之外并使用 Web 逻辑服务器。
我的 web.xml 文件
<display-name>Support</display-name>
<welcome-file-list>
<welcome-file>resources/jsp/home.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc-servlet.xml,/WEB-INF/spring-jpa.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
我的dispathcer servlet
<mvc:annotation-driven/>
<mvc:resources mapping="/resources/**" location="/resources/"/>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/resources/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
我已经在我的 JSp 文件中添加了这个
<link media="screen" rel="stylesheet" href="<spring:url value='resources/css/Map.css' />" type="text/css" />
<spring:url value="resources/css/Mass.css" var="resourceUrl2"/>
<LINK media="screen" rel="stylesheet" TYPE="text/css" href="${resourceUrl2}" />
获取加载资源失败:服务器响应状态为 404。
任何帮助???
更新:
我在 weblogic 服务器中发现的内容无法获取此应用程序的上下文值。所以得到了jsp文件中的conext路径并附加在资源之前。它对我有用
<link media="screen" rel="stylesheet" href="<%=request.getContextPath()%>/resources/css/MaRK.css" type="text/css" />
仍然不知道为什么spring资源不起作用。