关于String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getSer...

关于

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 和

String basePath=http://localhost:8080/ 等同

开始学java的时候看不懂为什么这么写,今天复习的时候才搞懂:这个语句是用来拼接当前网页的相对路径的。

<base herf="...">从来表明当前页面的相对路径所使用的根路径,也就是项目名称
比如,页面内部有一个连接,完整的路径应该是 http://localhost:80/Info_System/user/user_info.jsp
其中http://server/是服务器的基本路径,Info_System是当前应用程序的名字,那么,我的根路径应该是那么http://localhost:8080/Info_System/。
 
用这个base,服务器就可以动态的将指定路径和页面的相对路径拼装起来,形成完整的路径。
  1.request.getSchema();可以返回当前页面所使用的协议,就是"http"
  2.request.getServerName();返回当前页面所在服务器的名字,就是上面例子中的"localhost"
  3.request.getServerPort();返回当前页面所在服务器的端口号,就是上面例子中的"8085"
  4.request.getContextPath();返回当前页面所在的应用的名字,就是上面例子中的"Info_System"
当前页面路径是:http://localhost:80/Info_System/uploadAttachs/attachs_list.jsp
根据上面的介绍,那么我在当前页面中有跳转为: <li><a href="<%=basePath%>user/user_info.jsp" class="information_off"></a></li>就应该这样写。

转载于: https://blog.csdn.net/haocm66/article/details/52998785

转载于:https://www.cnblogs.com/blacka/p/11493331.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值