gpt4 book ai didi

java - 在带有 spring 的 jsp 页面中包含样式表

转载 作者:太空宇宙 更新时间:2023-11-04 15:47:55 24 4
gpt4 key购买 nike

我无法从 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>

请帮助我做错什么,我们将不胜感激。

提前致谢

最佳答案

当您使用 url“/”映射您的 spring-servlet(Spring) 时,所有请求都将重定向到 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>

为资源提供服务的静态 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();
}
}

}

关于java - 在带有 spring 的 jsp 页面中包含样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11553058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com