关于String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
关于
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
最新文章
- linux mount/umount挂载命令解析。
- 【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方
- Fold Change和t分布
- CocoaPods的安装和使用
- CSS弹性盒模型flex在布局中的应用
- ld: warning: directory not found for option 去掉警告的方法
- asp.net 读取RedisSessionStateProvider配置
- php防攻击方法
- DevExpress XtraGrid RepositoryItemCheckEdit 复选框多选的解决方法
- VC6项目移植到VS2008的若干问题——好的代码,从我做起,从如今做起。
- Android之fragment点击切换和滑动切换结合
- HDOJ-1015 Safecracker(DFS)
- EC读书笔记系列之11:条款20、21
- [转]GET,POST,PUT,DELETE的区别
- mysql版本升级
- win10系统下如何用命令行的方式打开画图软件
- 面试 16:栈的压入压出队列(剑指 Offer 第 22 题)
- c++局部变量在外可用的方法
- html5的audio实现高仿微信语音播放效果(实际项目)
- 【iCore4 双核心板_ARM】例程三十一:HTTP_IAP_FPGA实验——更新升级FPGA