关于JSP引用资源路径

在开发中部署项目的时候有些是带了项目名的,如: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>

 结束!

原文地址:https://www.cnblogs.com/wccw/p/12977307.html