3 回答

TA贡献2039条经验 获得超7个赞
文件/WEB-INF夹中的文件不可公共访问。将CSS文件向上一级放置在文件WebContent夹中,并通过直接在浏览器地址栏中输入URL来确保可访问它们。另外,您在中指定的URL <link href>必须相对于请求URL(在打开JSP时在浏览器地址栏中看到),而不是相对于其在服务器磁盘文件系统上的位置。最好的方法是通过以正斜杠开始使其相对于域/。
<link rel="stylesheet" href="/BookShopWeb/css/styles.css" />
或更具动态性,因此您不必每次更改上下文路径时都更改JSP
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/styles.css" />
JSP文件可以保留在其中/WEB-INF,但是通过这种方式,它们只能通过分派servlet进行访问,该servlet可以通过扩展来本地生成,也可以由servlet HttpServlet容器(例如)隐式地访问<welcome-file>。

TA贡献1155条经验 获得超0个赞
您的目录结构应为
/BookShopWeb/|
|--src
|---WebContent
|
|---META-INF
|----WEB-INF---web.xml
|
|--css--styles.css
|--jsp---index.jsp
另外,您将css命名为styles.jsp,这不是声明css文件的正确方法。
在您的web.xml中:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
在您的jsp文件中:
<head>
<link rel="stylesheet" type="text/css" href="./css/styles.css" />
</head>
添加回答
举报