博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【java 获取路径的方法】
阅读量:6827 次
发布时间:2019-06-26

本文共 2257 字,大约阅读时间需要 7 分钟。

一、关于绝对路径和相对路径

  1.基本概念的理解绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt代表了test.txt文件的绝对路径。http://www.s.com/inx.htm也代表了一个URL绝对路径。相对路径:相对于某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"/"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,URL,URN等内容,请参考RFC相关文档标准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.关于JSP/Servlet中的相对路径和绝对路径。 2.1服务器端的地址服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)

  1、request.getRealPath

  方法:request.getRealPath("/")

  得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\

  方法:request.getRealPath(".")

  得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\.

  方法:request.getRealPath("")

  得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest

  request.getRealPath("web.xml")

  C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\web.xml

  2、request.getParameter("");

  ActionForm.getMyFile();

  方法:String filepath = request.getParameter("myFile");

  得到的路径:D:\VSS安装目录\users.txt

  方法:String filepath = ActionForm.getMyFile();

  得到的路径:D:\VSS安装目录\users.txt

  --------------------------------------------------

  strutsTest 为工程名

  myFile 在ActionForm中,为private String myFile;

  在jsp页面中:为<html:file property="myFile"></html:file>

  --------------------------------------------------

  3、获得系统路径

  在Application中:

  System.getProperty("user.dir")

  在Servlet中:

  ServletContext servletContext = config.getServletContext();

  String rootPath = servletContext.getRealPath("/");

  在jsp中:

  application.getRealPath("")

  4、其他1

  1.可以在servlet的init方法里

  String path = getServletContext()。getRealPath("/");

  这将获取web项目的全路径

  例如 :E:\eclipseM9\workspace\tree\

  tree是我web项目的根目录

  2.你也可以随时在任意的class里调用

  this.getClass()。getClassLoader()。getResource("")。getPath();

  这将获取到classes目录的全路径

  例如 : /D:/workspace/strutsTest/WebRoot/WEB-INF/classes/

  还有 this.getClass()。getResource("")。getPath()。toString();

  这将获取 到 /D:/workspace/strutsTest/WebRoot/WEB-INF/classes/bl/

  这个方法也可以不在web环境里确定路径,比较好用

  3.request.getContextPath();

  获得web根的上下文环境

  如 /tree

  tree是我的web项目的root context

转载于:https://www.cnblogs.com/qq12345678/p/3296464.html

你可能感兴趣的文章
Codeforces Round #404 (Div. 2) D. Anton and School - 2 数学
查看>>
windows进程中的几个杂项-hpguard 进程终止
查看>>
Window 7 + Ubuntu 双系统安装
查看>>
instance 怎么获得自己的 Metadata - 每天5分钟玩转 OpenStack(169)
查看>>
以AVL树为例理解二叉树的旋转(Rotate)操作
查看>>
Maven可以提交到官方公共仓库maven.org
查看>>
学霸也要会看书
查看>>
解读tensorflow之rnn 的示例 ptb_word_lm.py
查看>>
Linux内核--并发【转】
查看>>
关于对FLASH开发,starling、starling feathers、starling MVC框架的理解
查看>>
Nginx的基本配置案例
查看>>
一线架构师带你玩性能优化
查看>>
13. 关于IDEA工具在springboot整合mybatis中出现的Invalid bound statement (not found)问题
查看>>
mysql监测工具
查看>>
Centos防火墙设置与端口开放的方法
查看>>
工作总结 razor 接收datatable
查看>>
[leetcode]Unique Paths II
查看>>
C#调用dll时的类型转换总结
查看>>
在线预览Word,Excel
查看>>
Exception loading sessions from persistent storage 这个问题的解决
查看>>