2012-07-19 25 views
0

我無法鏈接到jsp頁面的樣式表。我不知道什麼是錯的。 這是我的目錄結構:在彈出的jsp頁面中包含樣式表

| 
|-- WEB-INF 
|  | 
|  |-- jsp 
|   |-- index.jsp 
| 
|-- resources 
     | 
     |-- css 
      |-- style.css 

我試着這樣做

<link rel="stylesheet" type="text/css" href="/resources/css/style.css" /> 

這是我的web.xml

<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 
<servlet> 
    <servlet-name>spring</servlet-name> 
    <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>spring</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

請我究竟做錯了一些幫助,將不勝感激。

在此先感謝

回答

0

你的CSS表是一個CSS目錄下。嘗試HREF =「/資源/ CSS/style.css的」

+0

抱歉它是一個錯字 – 2012-07-19 02:59:56

1

當你與URL映射了彈簧的servlet(春季)「/」的所有請求重定向到春天-servlet。包括.css & .js等等。

雖然你找到解決方案,我爲你提供另一個我使用的替代方案。

<servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 

    <servlet> 
    <servlet-name>static</servlet-name> 
    <servlet-class>StaticServlet</servlet-class> 
    </servlet> 

     <servlet-mapping> 
     <servlet-name>static</servlet-name> 
     <url-pattern>/images/*</url-pattern> 
     <url-pattern>/css/*</url-pattern> 
     <url-pattern>/img/*</url-pattern> 
     <url-pattern>/js/*</url-pattern> 
     <url-pattern>/swf/*</url-pattern> 
     </servlet-mapping> 

靜態Servlet來服務資源

import java.io.FileInputStream; 
import java.io.IOException; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.apache.commons.io.IOUtils; 

public class StaticServlet extends HttpServlet { 

    private static final long serialVersionUID = 8458501870440200891L; 

    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
      throws ServletException, IOException { 
     String resourcePath = req.getServletPath() + req.getPathInfo(); 
     String realPath = getServletContext().getRealPath(resourcePath); 
     FileInputStream fileInputStream = new FileInputStream(realPath); 
     try { 
      IOUtils.copy(fileInputStream, resp.getOutputStream()); 
     } finally { 
      fileInputStream.close(); 
     } 
    } 

} 
0

在您的調度員-servlet.xml文件使-確保提供

的xmlns如下:MVC =「http://www.springframework.org /模式/ MVC」

的xsi:的schemaLocation = 「http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd

,那麼你應該能夠通過HREF訪問你的CSS = 「/資源/ CSS/style.css的」