java中如何获取项目的路径
记录是为了更好的成长!
1、ssm项目中
1.以工程名为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项目毕业设计:基于springboot+vue的电影视频网站系统「建议收藏」
- idea如何创建一个javaweb项目_Java创建一个新项目
- JAVA多线程面试题_java多线程的实现方式
- java转换字符串为时间_JAVA字符串转日期或日期转字符串
- eclipse Java项目 动态Java项目 导入MySQL驱动jar包[通俗易懂]
- java怎么用_如何使用Java编写程序
- c++和java哪个好学_c++语言和Java语言,初学者该如何选择?「建议收藏」
- 如何利用eclipse创建一个java web项目?「建议收藏」
- java如何输入字符串_JAVA中怎样输入字符串「建议收藏」
- eclipse运行java程序_如何在Eclipse中运行简单的Java程序?「建议收藏」
- 如何使用eclipse创建JAVA项目并写一个简单的HelloWorld
- idea搭建javaweb环境_java怎么打开项目
- java 事务嵌套_Java事务以及嵌套事务[通俗易懂]
- Java截取字符串方法_java通过split截取字符串
- intellij怎么创建Java_intellij idea创建java项目
- JAVA基于Swing和Netty,仿QQ界面聊天小项目
- Java Activiti6.0 spring5 SSM 工作流引擎 审批流程 java项目框架详解编程语言
- ?使用 Java 连接 MySQL 数据库的步骤(java怎么连接mysql)
- Java连接MySQL:实现数据互通(java如何连接mysql)
- Java与MySQL的实现协同(java和mysql)
- 如何在Linux系统中正确配置Java?(linux下配置java)
- 如何使用Java备份Oracle数据库?(java备份oracle)
- Java加速Oracle开发之旅(java中oracle包)