我正在使用Spring 4.0.1框架和glassfish服务器通过NetBeans创建Web应用程序,并在访问css和js文件时面临问题,该文件位于项目结构中,如下所示
正如您所看到的那样,我已将Web-INF和资源置于同一级别(Web-INF文件夹之外)并在堆栈溢出后尝试了许多类似问题的解决方案(无法共享我的所有发现)在这里,没有任何东西对我成功。
以下是我在以下文件中所做的一些更改
分配器一servlet.xml中
<context:component-scan base-package="com.onlinetutorialspoint.controllers" />
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**"
location="resources/"
cache-period="31556926" />
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
Login.jsp(在给定的jsp中使用三种方式访问CSS,但对我来说没什么用)
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/layoutlocal.css" />
<link rel="stylesheet" href="/resources/css/layoutlocal.css" />
<link href="<c:url value="/resources/css/layoutlocal.css" />" rel="stylesheet" type="text/css" />
即使控制器和其他功能工作正常,我也无法访问任何CSS或JS文件..但是如果我在浏览器http://localhost:8080/SampleSpringApplication/resources/css/loginpagestyle.css中打开以下URL,它将显示我的默认页面而不是CSS页面。
答案 0 :(得分:2)
当您引用jsp中的文件时,您需要提供相对路径。也就是说,您需要先从jsp文件夹返回,然后再返回到js和css文件。有点像:
<link rel="stylesheet" href="../resources/css/layoutlocal.css" />
使用../
我认为它可以正常工作。