JavaWeb:路径

路径

相对路径

不是以"/"开始的路径名称,开发时不使用。

绝对路径

以"/"开始的路径名称

开发中的路径问题

第一种方案在JSP页面上使用<base>标记指定路径位置

base标签的作用是:设置当前页面的所有相对路径的起始位置。

<%
     String path = request.getContextPath();
     String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<base href="<%=basePath%>">

第二种方案在路径位置直接使用绝对路径

绝对路径是以“/”开始的路径。“/”表示的位置在哪?

1、浏览器使用时“/”,表示的是服务器路径。在浏览器使用绝对路径时“/”后面加站点名称。

<a href="/站点名称/资源名称"></a>

2、服务器使用时“/”,表示的就是站点根目录。在服务器使用绝对路笃时“/”后面直接写资源名称。

<jsp:forward page="/资源名称"/> </jsp:forward>

当使用页面导航时,

  1. 客户端重定向:“/站点名/资源名称”
  2. 服务器端转发:“/资源名称” 

获取绝对路径方法

1、在JSP页面上使用EL表达式获得站点根目录名称

${pageContext.request.contextPath}
<img alt="aaa" src="${pageContext.request.contextPath }/imgs/1.jpg">

2、在Servlet中使用request对象的方法获得站点根目录名称

request.getContextPath();
response.sendRedirect(request.getContextPath()+"/goods/show.jsp");

总结

response.sendRedirect("/站点名称/资源名称");
request.getRequestDispatcher("/资源名称").forward(request,response);
this.getServletContext().getRealPath("/资源名称");
this.getServletContext().getResourceAsStream("/资源名称");
<a href="/站点名称/资源名称"></a>
<form action="/站点名称/资源名称"></form>

浏览器使用时,"/"就相当于web应用

服务器使用时,"/"就相当于网站

"/"是用于获取服务器的资源,"\"是用于获取硬盘的资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值