servlet重定向到jsp后css样式和图片都没了

来源:互联网 发布:java poi api 编辑:程序博客网 时间:2024/05/10 14:35

原因是在servlet中转发时css和图片的路径变成相对于这个servlet的相对路径而非相对于web项目的路径了。

解决办法:导入css样式和图片时把css写成动态绝对路径,如用EL表达式表示:

<link rel="stylesheet" href="${pageContext.request.contextPath }/css/main.css" type="text/css" />

<a href="index.jsp"><img src="${pageContext.request.contextPath }/images/logo.gif"


可以一劳永逸地解决这个问题,方法是使用<base>标签。示例如下:

<base href = "${pageContext.request.contextPath }/"> 
<link rel="stylesheet" href="css/bootstrap.min.css" type="text/css" />
<script src="js/jquery-1.11.3.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>

那么实际路径是

<link rel="${pageContext.request.contextPath }/stylesheet" href="css/bootstrap.min.css" type="text/css" />
<script src="${pageContext.request.contextPath }/js/jquery-1.11.3.min.js" type="text/javascript"></script>
<script src="${pageContext.request.contextPath }/js/bootstrap.min.js" type="text/javascript"></script>