记录是为了更好的成长!

1、ssm项目中

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:request.getRequestURI()

结果:/TEST/test.jsp

(2)得到工程名:request.getContextPath()

结果:/TEST

(3)得到当前页面所在目录下全名称:request.getServletPath()

结果:如果页面在jsp目录下 /TEST/jsp/test.jsp

(4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")

结果:D:\resin\webapps\TEST\test.jsp

(5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();

结果:D:\resin\webapps\TEST

2.在类中取得路径:

(1)类的绝对路径:Class.class.getClass().getResource("/").getPath()

结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

(2)得到工程的路径:System.getProperty("user.dir")

结果:D:\TEST

3.在Servlet中取得路径:

(1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。

结果:E:\Tomcat\webapps\TEST

(2)得到IE地址栏地址:request.getRequestURL()

结果:http://localhost:8080/TEST/test

(3)得到相对地址:request.getRequestURI()

结果:/TEST/test

注释:当项目中的jsp页面有标签时,可以使用以下代码来获取根目录,以防项目名为空的时候报错:

function getRootPath(){

return $("base").attr("href");

}

var webpath=getRootPath(); //webpath就是目录路径变量

2、springBoot项目中

1、在用户头像上传的功能实现时,为了获取目录路径,花了好些时间,简单记录一下:

String path = ClassUtils.getDefaultClassLoader().getResource("").getPath() //输出path: D:/java_project/manage/target/classes/

项目中图片上传的路径是  resources/static/img/headImg/  中,路径可以这样写:

String path = ClassUtils.getDefaultClassLoader().getResource("").getPath()+"static/img/headImg/";

//输出path:/D:/java_project/manage/target/classes/static/img/headImg/

2、还有一种写法,效果一样

//获取项目的根目录

File path = new File(ResourceUtils.getURL("classpath:").getPath());

System.out.println("path:"+path.getAbsolutePath());//path:D:\java_project\manage\target\classes//获取项目根目录下的某个文件夹,这里是 "static/img/headImg/"

File uploadpath = new File(path.getAbsolutePath(),"static/img/headImg/");

System.out.println("uploadpath:"+uploadpath.getAbsolutePath());//uploadpath:D:\java_project\manage\target\classes\static\img\headImg

//也可以直接写成这样

String path =ResourceUtils.getURL("classpath:static/img/headImg/").getPath();

注意:ResourceUtils的这种写法在linux系统是无效,请注意

推荐使用一下两种方式:

String rootPath = Class.class.getClass().getResource("/").getPath();

//D:\java_project\manage\target\classes\

String rootPath2 = ClassUtils.getDefaultClassLoader().getResource("").getPath();//D:\java_project\manage\target\classes\

以上内容代表个人观点,仅供参考,不喜勿喷。。。

java 取项目根路径_java中如何获取项目的路径相关推荐

  1. java读取文件 路径_Java中的获取文件的物理绝对路径,和读取文件

    获取文件的绝对路径,读取该文件 一.文件目录打印图 下面的文件目录图,是项目中文件的位置信息:下面的例子是按照这个图来演示的. . |-- java | |-- ibard | | |-- demo1 ...

  2. java取余位运算_Java中对于位运算的优化以及运用与思考

    引言 随着JDK的发展以及JIT的不断优化,我们很多时候都可以写读起来易读但是看上去性能不高的代码了,编译器会帮我们优化代码.之前大学里面学单片机的时候,由于内存以及处理器性能都极其有限(可能很多时候 ...

  3. java request get json数据_Java中,获取request中json数据

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.io.IOException; import javax.servlet.http.HttpServletRequest; /** ...

  4. java resources 路径_Java工程读取resources中资源文件路径问题

    正常在Java工程中读取某路径下的文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径,即相对于当前类的路径.在本地工程和服务器中读取文件的方式有所不同,以下图配置文件为例. 本地读取资 ...

  5. python 中文件路径到底怎么写 + 获取mac文件路径快捷键!!

    目录 1 MAC路径与Windows路径问题 2 绝对路径和相对路径概念 3 macOS获取文件绝对路径的快捷键为: 1 MAC路径与Windows路径问题 几乎所有计算机在文件夹名称间使用的都是正斜 ...

  6. python安装到桌面的路径是什么_Python 获取windows桌面路径的5种方法小结

    这里介绍了5中python获取window桌面路径的方法,获取这个路径有什么用呢?一般是将程序生成的文档输出到桌面便于查看编辑. 前两个方法是通过注册表来获取当前windows桌面绝对路径,比较推荐使 ...

  7. java中怎么找类的路径_Java中获取类加载路径和项目根路径的5种方法

    public class MyUrlDemo { public static void main(String[] args) { MyUrlDemo muDemo = new MyUrlDemo() ...

  8. java获取项目中的路径_java中几种获取项目路径方式

    转自http://caodaoxi.iteye.com/blog/1234805 在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是Web ...

  9. java获取子路径_Java中路径的获取

    1.Java中获取路径的方法:  Class_Name.class .getResource("")        //   Class_Name.class .getResour ...

最新文章

  1. 利用html5标签audio在不同客户端下适配播放音频
  2. 探索移动端的搜索设计
  3. iPhone放大模式详解
  4. windows消息机制深入详解-1
  5. 如何挑选家用交换机 交换机选购攻略分享
  6. rust 编程入门_面向初学者的Rust –最受欢迎的编程语言入门
  7. 报表在IBM AIX系统下resin部署
  8. B+树索引和哈希索引
  9. oracle 时间函数
  10. ABAP function group和Tomcat library重复加载问题 1
  11. 无线WIFI上网监控串联部署方案
  12. [原创]Jenkins持续集成工具介绍
  13. 计算机教育是核心期刊吗2020,重磅!2020年中国科技核心期刊目录,正式发布!...
  14. FreeCAD 导出STL格式文件格式
  15. 关于CCSP云安全专家考试你一定要知道的事!
  16. Matlab2019 中文显示问题(乱码与方框)
  17. 基于FPGA的循迹小车,控制器:Xilinx-Ego1
  18. OpenBSD 下架设vsftpd
  19. 第46讲 Android Camera2 API AWB自动白平衡
  20. cesium分屏对比

热门文章

  1. 【Java】根据IP地址获取省市
  2. 关于图片解压缩,导致scrollView滚动卡顿
  3. 【Java编程进阶】Java语言基础入门篇
  4. 华为watch buds升级失败怎么办!
  5. 13-实现视频投稿、分页带条件查询视频列表、在线观看视频(分片下载)
  6. Java的学习路线(非常完整)
  7. Greenplum创建表空间
  8. 海关公务员规范工资后薪酬下降
  9. 带你一起来摸鱼(快看摸鱼方法了)
  10. 漏洞扫描软件AWVS的介绍和使用