2016-09-26 146 views
0

我使用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 - 找不到错误 有没有解决方案?

回答

0

的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' />"