我在访问CSS文件时遇到了一些问题。我做了搜索,但我无法弄清楚什么是不正确的。
web.xml:
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.mvc</url-pattern>
</servlet-mapping>
我的JSP:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Portail web </title>
<link rel="stylesheet" type="text/css"
href="../GN/css/portail.css" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<h1>TEST</h1>
</body>
<html>
我的css:
@CHARSET "ISO-8859-1";
body
{
background-color:blue;
}
我的架构:
JSP位于:webapp/WEB-INF/FR/JSP/portail.jsp
CSS位于:webapp/WEB-INF/GN/css/portail.css
我也尝试了绝对路径,但没有任何工作(我的JSP上没有应用样式)。
感谢。
编辑:
如果我<%@ include file="/WEB-INF/GN/css/portail.css"%>
它打印出我的CSS,所以路径很好,但风格不适用于我的jsp:/
答案 0 :(得分:3)
这是从Web服务器请求文件的Web浏览器。您的页面根本不直接访问文件。 <{1}} 中的所有文件都不能公开访问。
您有两种可能的解决方案:
将.js和.CSS文件移到WEB-INF /
或使用以下映射:
web.xml (Spring 3.0.3 +)
WEB-INF/
在JSP中使用路径<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
,/static/js/
等
答案 1 :(得分:0)
../GN/css/portail.css
指向FR/GN/css/portail.css
,而不指向GN/css/portail.css
尝试使用../../GN/css/portail.css
(如果你直接访问你的jsp,但可能是从具有不同网址的动作转发)