处理静态内容(CSS)
问题描述:
我使用Spring的MVC4
开发Web应用程序配置我的DispatcherServlet处理的所有请求 '/' 如下(web.xml中):处理静态内容(CSS)
<servlet>
<servlet-name>WebAppConfig</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
com.xxx.config
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>WebAppConfig</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
,看起来像下面的图片我的目录结构: project directory structure
和我的JSP文件如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link type="text/css" rel="stylesheet"
href="/resources/css/Style.css" media="screen" />
<title>Insert title here</title>
</head>
<body>
<c:import url="/resources/common/menu.jsp" />
<h1>Home/Welcome page update</h1>
<p>
${message}
</p>
</body>
</html>
最后我的web应用程序的配置是:
@Configuration
@ComponentScan(value = { "com.xxx" })
@EnableWebMvc
@EnableTransactionManagement
@PropertySource("classpath:/app.properties")
public class WebAppConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
当我把我的HTTP请求到服务器,我可以加载JSP文件在/资源/普通/引入了menu.jsp但我不能处理的css文件! 当我发送一个http请求获得像这样的css文件http://localhost:8080/resources/css/Style.css我得到404 - 找不到错误 有没有解决方案?
答
的probleme是在JSP文件时,我打电话与
<link type="text/css" rel="stylesheet"
href="/resources/css/Style.css" media="screen" />
正确的href的CSS文件:href="<c:url value='/resources/css/Style.css' />"