0

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>

私が間違っていることについての助けをいただければ幸いです。

前もって感謝します

4

4 に答える 4

1

spring-servlet(Spring)をURL "/"でマッピングすると、すべてのリクエストがSpring-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>

リソースを提供する静的サーブレット

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();
        }
    }

}
于 2012-07-19T07:25:22.523 に答える
0

cssシートはcssディレクトリの下にあります。href = "/ resources / css/style.css"をお試しください

于 2012-07-19T02:55:15.737 に答える
0

あなたのdispatcher-servlet.xmlファイルで、以下が利用可能であることを確認してください

xmlns:mvc="http://www.springframework.org/schema/mvc"

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

次に、href="/resources/css/style.css" を介して CSS にアクセスできるはずです。

于 2014-02-08T06:51:16.827 に答える
0

私はこの手順に従いましたが、魔法のように働きました

于 2012-07-19T06:14:05.813 に答える