JavaWeb_客户端相对/绝对路径和服务器端路径
客户端的绝对路径和相对路径
相对路径:相对与某个基准目录的路径,在同一根目录下各子目录文件之间的相互引用,
绝对路径:指目录下的绝对位置,直接到的目标位置
@charset "UTF-8"; h1{ color:red; }
<%@ 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>
通过相对路径和绝对路径引用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() %>
(如需转载学习,请标明出处)