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 等等

最新文章

  1. WEB开发中前后台树形菜单的展示设计
  2. JAVA正则表达式:Pattern类与Matcher类详解(转)
  3. [UCSD白板题] Maximum Pairwise Product
  4. NXP开源自动驾驶计算平台Bluebox 打造现实无人汽车
  5. 使用TypeScript开发程序
  6. PE文件结构深入详解
  7. codeforces 450 B Jzzhu and Sequences
  8. android测试本地服务调试流程
  9. C语言-01基础语法
  10. hdu Co-prime
  11. 管理启示,不起毛的鹦鹉——leo锦书54
  12. highcharts设置Y轴范围及根据Y轴范围设置不同颜色
  13. Java 8新特性探究(三)泛型的目标类型推断
  14. java:找出占用CPU资源最多的那个线程
  15. Source Insight 有用设置配置
  16. Git 重命名操作
  17. 3-log4j2之输出日志到文件
  18. @repository的含义,并且有时候却不用写,为什么?
  19. java 中常见的一些错误
  20. js中的深层复制

热门文章

  1. 使用代码创建rabbitmq交换机和队列绑定
  2. ECS应用管理最佳实践
  3. Kotlin 委托(2)变量委托是什么、自定义变量委托
  4. TZ_05_Spring_Proxy基于接口的动态代理和基于类的动态代理
  5. linux定时跑php脚本,防止重复跑,死循环
  6. mybatis深入理解(三)-----MyBatis事务管理机制
  7. Java问题解读系列之String相关---String、StringBuffer、StringBuilder的区别
  8. mysql与hibernate选择某个字段的最大值,比如表中的最大id
  9. GIT生成公钥和私钥
  10. hdu 1045 Fire Net(二分匹配 or 暴搜)