在开发中部署项目的时候有些是带了项目名的,如:localhost:8080/test
而在jsp页面引用静态资源的时候可能会写“/resource/img/a.png”,本来是想引用“localhost:8080/test/resource/img/a.png”,却变成了“localhost:8080/resource/img/a.png”,从而导致资源路径错误。
为了避免这种错误,则在html的<base>标签里预先设定好路径
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <!-- 设定好base路径,这样页面中的连接就在base的基础上访问了 --> <base href="<%=basePath%>"> <link rel="stylesheet" type="text/css" href="/resource/css/c.css"> </head> </html>
结束!