静态资源在servlet路径等文件夹中不可用

时间:2015-01-22 11:41:31

标签: java html spring jsp spring-mvc

我有一个网络项目结构:

src/main/webapp
           |__project1
                 |____css
           |__WEB-INF
                 |____project1
                         |_____jsp

我的web.xml的一部分:

<servlet-name>
<servlet>
   <servlet-name>mvc-dispatcher</servlet-name>
   <servlet-lass>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   ...
</servlet>
<servlet-mapping>
   <servlet-name>mvc-dispatcher</servlet-name>
   <url-pattern>/project1/*</url-pattern>
</servlet-mapping>

在我的jsp页面中,我使用:

<link rel="stylesheet" href=${pageContext.request.contextPath}/project1/css/common.css type="text/css"/>

但这不起作用。样式表不在页面上 如果我使用localhost:9080 / project1 / css / common.ccs我收到404错误 如果我在文件夹:src / main / webapp / css中传输ccs文件,则可以使用css(localhost:9080 / css / common.css)。
我认为/ project1 / *拦截servlet中的问题我无法从css访问。 如何解决这个问题并保存旧架构?

1 个答案:

答案 0 :(得分:0)

尝试访问资源时删除/project1。由于您已将其映射到web.xml内,因此它将在contextPath

中提供
<link rel="stylesheet" href=${pageContext.request.contextPath}/css/common.css type="text/css"/>