Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
2024-09-06 14:13:37
1 区别
假定你的web application 名称为news,你在浏览器中输入请求路径:
http://localhost:8080/news/main/list.jsp
1.1 System.out.println(request.getContextPath());
打印结果:/news
1.2 System.out.println(request.getServletPath());
打印结果:/main/list.jsp
1.3 System.out.println(request.getRequestURI());
打印结果:/news/main/list.jsp
1.4 System.out.println(request.getRealPath("/"));
打印结果:F:\Tomcat 6.0\webapps\news\test
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path
这其实就是 获得应用的根url,比如说你的应用的根路径是 http://localhost:8080,那么你列出的代码就是为basePath赋值为 http://localhost:8080。
具体点:
1、request.getScheme() 返回协议的名称 http,和后面的"://" 拼起来就成了 http://
2、request.getServerName() 这是获取你的服务器的名称,如果你的应用部署在本机那么其就返回localhost或者127.0.0.1 ,这2个是等价的
3、request.getServerPort() 是你应用使用的端口,比如8080或者80 等等
最新文章
- WEB开发中前后台树形菜单的展示设计
- JAVA正则表达式:Pattern类与Matcher类详解(转)
- [UCSD白板题] Maximum Pairwise Product
- NXP开源自动驾驶计算平台Bluebox 打造现实无人汽车
- 使用TypeScript开发程序
- PE文件结构深入详解
- codeforces 450 B Jzzhu and Sequences
- android测试本地服务调试流程
- C语言-01基础语法
- hdu Co-prime
- 管理启示,不起毛的鹦鹉——leo锦书54
- highcharts设置Y轴范围及根据Y轴范围设置不同颜色
- Java 8新特性探究(三)泛型的目标类型推断
- java:找出占用CPU资源最多的那个线程
- Source Insight 有用设置配置
- Git 重命名操作
- 3-log4j2之输出日志到文件
- @repository的含义,并且有时候却不用写,为什么?
- java 中常见的一些错误
- js中的深层复制
热门文章
- 使用代码创建rabbitmq交换机和队列绑定
- ECS应用管理最佳实践
- Kotlin 委托(2)变量委托是什么、自定义变量委托
- TZ_05_Spring_Proxy基于接口的动态代理和基于类的动态代理
- linux定时跑php脚本,防止重复跑,死循环
- mybatis深入理解(三)-----MyBatis事务管理机制
- Java问题解读系列之String相关---String、StringBuffer、StringBuilder的区别
- mysql与hibernate选择某个字段的最大值,比如表中的最大id
- GIT生成公钥和私钥
- hdu 1045 Fire Net(二分匹配 or 暴搜)