这篇教程不错:http://zjutsoft.iteye.com/blog/1084260

自己试验如下:

System.out.println("-----------------servlet-----------------");
System.out.println("realpath null:"+request.getRealPath(""));
System.out.println("realpath index.jsp:"+request.getRealPath("index.jsp"));
System.out.println("realpath ./:"+request.getRealPath("./"));
System.out.println("realpath ../:"+request.getRealPath("../"));
System.out.println("contextpath:"+request.getContextPath());
System.out.println("web项目的全路径:"+request.getSession().getServletContext().getRealPath("/"));
System.out.println("URI:"+request.getRequestURI());
System.out.println("URL:"+request.getRequestURL());
System.out.println("servletpath:"+request.getServletPath());
//System.out.println("页面在服务器的绝对路径:"+new java.io.File(application.getRealPath(request.getRequestURI())).getParent()); System.out.println("~~~~~~~~~~~~~~~页面~~~~~~~~~~~~~~~~~");
System.out.println("realpath null:"+request.getRealPath(""));
System.out.println("realpath index.jsp:"+request.getRealPath("index.jsp"));
System.out.println("realpath ./:"+request.getRealPath("./"));
System.out.println("realpath ../:"+request.getRealPath("../"));
System.out.println("contextpath:"+request.getContextPath());
System.out.println("web项目的全路径:"+request.getSession().getServletContext().getRealPath("/"));
System.out.println("URI:"+request.getRequestURI());
System.out.println("URL:"+request.getRequestURL());
System.out.println("servletpath:"+request.getServletPath());
System.out.println("页面在服务器的绝对路径:"+new java.io.File(application.getRealPath(request.getRequestURI())).getParent()); //结果
-----------------servlet-----------------
realpath null:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt
realpath index.jsp:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt\index.jsp
realpath ./:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt\.
realpath ../:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt\..
contextpath:/jyxt
web项目的全路径:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt\
URI:/jyxt/hello
URL:http://localhost:8080/jyxt/hello
servletpath:/hello
~~~~~~~~~~~~~~~页面~~~~~~~~~~~~~~~~~
realpath null:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt
realpath index.jsp:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt\index.jsp
realpath ./:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt\.
realpath ../:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt\..
contextpath:/jyxt
web项目的全路径:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt\
URI:/jyxt/WEB-INF/view/index.jsp
URL:http://localhost:8080/jyxt/WEB-INF/view/index.jsp
servletpath:/WEB-INF/view/index.jsp
页面在服务器的绝对路径:D:\eclipse-jee-luna-SR1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jyxt\jyxt\WEB-INF\view

在类中获取路径先不看,其他的只有10种方法。

两种应用场景:.jsp和servlet中。jsp中realPath被抛弃,不过返回值跟servlet中的一样,getRealPath("./   ../")返回值都不太对;页面在服务器的绝对路径 就不能用了。

getContextPath() 和 .getSession().getServletContext().getRealPath("/") 在.jsp和servlet中返回值都一样;URI,URL,servletpath都不一样。

//http
System.out.println("scheme:"+request.getScheme());
//localhost
System.out.println("name:"+request.getServerName());
//8080
System.out.println("port:"+request.getServerPort());

常用方法

在servlet中:getContextPath(), URI, URL, servletPath(),
在jsp中:getContextPath()

jsp request 获取路径的更多相关文章

  1. jsp Request获取url信息的各种方法比较

    从Request对象中可以获取各种路径信息,以下例子: 假设请求的页面是index.jsp,项目是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下 String p ...

  2. request获取路径方式

    从request获取各种路径总结 request.getRealPath("url"); // 虚拟目录映射为实际目录 request.getRealPath("./&q ...

  3. request获取路径

    1.request.getRequestURL() 返回的是完整的url,包括Http协议,端口号,servlet名字和映射路径,但它不包含请求参数. 2.request.getRequestURI( ...

  4. [转]java中通过request获取路径中的不同信息

    原文地址:http://blog.csdn.net/lv_shijun/article/details/40819859 aa为工程中的项目名 bb为webRoot下的文件夹 1.request.ge ...

  5. jsp中获取路径信息的方法

    今天在看代码时,发现程序使用了 request.getScheme() .不明白是什么意思,查了一下.结果整理如下: 1.request.getScheme() 返回当前链接使用的协议:一般应用返回h ...

  6. request获取各种路径总结、页面跳转总结。

    页面跳转总结 JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使 ...

  7. Java获取路径的方法分析详解(Application/Web)

    1.利用System.getProperty()函数获取当前路径: System.getProperty("user.dir");//user.dir用户当前的工作目录,输出:D: ...

  8. request 获取各种路径

    从request获取各种路径总结 request.getRealPath("url"); // 虚拟目录映射为实际目录 request.getRealPath("./&q ...

  9. request获取各种路径

    equest.getRealPath() 这个方法已经不推荐使用了,代替方法是: request.getSession().getServletContext().getRealPath() 在ser ...

随机推荐

  1. 转-oracle中比较两表表结构差异和数据差异的方法

    oracle中比较两表表结构差异和数据差异的方法 原作者:li2008xue2008ling  出处:http://blog.csdn.net       在工作中需要完成这么一个需求:比较两个表的表 ...

  2. 真实赛车3,FERRARI之魂不买FERRARI 599 GTO可以解锁顶点系列。

    难点1,在仅有458 SPIDER的情况下,“TURBO BURST技巧混战”中 Mount Panorama速度快照,比较难.多重试十几次. 难点2,“TURBO BURST大满贯”中直道赛,用45 ...

  3. django-model的元类Meta

    Meta类存在model类里面 模型元选项 文档有更多Meta类的配置属性: English:https://docs.djangoproject.com/en/1.11/ref/models/opt ...

  4. vim删除行首数字

  5. GridEh Lookup

    Flexible adjustment of a lookup inplace editor 没有输入拼音码搜索功能. Drop-Down Forms 这个比较符合中国人的习惯,搜索框,不错,点下来箭 ...

  6. eclipse自动生成.apt_generated、factory path

  7. ffmpeg默认输出中文为 UTF-8

    在使用ffmpeg 进行对音视频文件解码输出信息的时候会出现乱码. 从网上找到了说ffmpeg默认格式 为 utf-8 如果vs工程使用的的 Unicode 则需要将 utf-8转 Unicode 才 ...

  8. 归纳整理Linux下C语言常用的库函数----内存及字符串控制及操作

    在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...

  9. Linux学习---Linux目录结构说明

    1./- 根 每一个文件和目录从根目录开始. 只有root用户具有该目录下的写权限.请注意,/root是root用户的主目录,这与/.不一样 2./bin中 - 用户二进制文件 包含二进制可执行文件. ...

  10. Motion Blur

    [Motion Blur] 此篇介绍最简单的全局Motion Blur.算法是将当前帧与前一帧按某一比例混合.这是一个过程,例如有10帧,在第1帧中,只有第1帧原图,第2帧中有1.2帧原图,第3帧中会 ...