JavaWeb_客户端相对/绝对路径和服务器端路径

客户端的绝对路径和相对路径

  相对路径:相对与某个基准目录的路径,在同一根目录下各子目录文件之间的相互引用,

  绝对路径:指目录下的绝对位置,直接到的目标位置

  

@charset "UTF-8";

h1{
    color:red;    
}
style.css
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    
       <%System.out.println(request.getContextPath());%>
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
<link rel="stylesheet" href="css/style.css" type="text/css"/>

<!-- 相对路径css/style.css -->
<!-- 绝对路径/Gary03/css/style.css -->
<!--动态获取项目路径 <%=request.getContextPath() %>/css/style.css -->

</head>
<body>

<h1>Gary</h1>

</body>
</html>
path.jsp

  通过相对路径和绝对路径引用style.css中设置h1标签的css

  相对路径

<link rel="stylesheet" href="css/style.css" type="text/css"/>

  静态相对路径

<link rel="stylesheet" href="/Gary03/css/style.css" type="text/css"/>

  动态相对路径

<link rel="stylesheet" href="<%=request.getContextPath() %>/css/style.css"/>

  当出现转发和重定向时路径问题(无法找到css资源)  百度传送门

request.getRequestDispatcher(".../path.jsp").forward(request,response);

  客户端中常使用绝对路径【从项目根目录开始】

  区别客户端和服务端路径:能不能通过查看源在html中解析出代码,客户端能,服务端不能

  客户端都要使用绝对路径

服务器端路径

  相对路径

<jsp:include page="Gary.jsp"></jsp:include>

  绝对路径【服务器端绝对路径不需要加项目名】

<jsp:include page="/Gary.jsp"></jsp:include>

  

  客户端绝对路径

http://localhost:8080/

  服务器端绝对路径

http://localhost:8080/Gary03/

  JSP处在Gary03项目下运行的,所以服务器端项目跟路径会自动加上Gary03,客户端不会把Gary03当做项目运行,不会自己加上/Gary03

  服务器端相对路径会时时检查

  当发生转发或重定向时,路径会相对改变,使用相对路径容易找不到资源

  有绝对路径就使用绝对路径  <%=request.getContextPath() %>

  

猜你喜欢

转载自www.cnblogs.com/1138720556Gary/p/10303037.html