Java web如何定位工程路径
2024-08-31 04:19:50
一 项目路径的获得
System.getProperty("user.dir");
可以获得当前用户的工作目录,即在哪个地方启动的java程序,返回就是当前目录
二 web项目根目录的获得(项目发布路径)
从servlet出发 可建立一个servlet在其的init方法中写入如下语句
ServletContext s1=this.getServletContext();
String path=s1.getRealPath("/");
path结果为:D:/workspace/Tomcat-8.0/webapps/test/ (test为项目名字) 如果是调用了s1.getRealPath("")则输出D:/workspace/Tomcat-8.0/webapps/test/(少了一个"/")
从httpServletRequest出发,一般spring的Controler接口可以采取改方法
String path=request.getSession().getServletContext().getRealPath("/");
path结果为:D:/workspace/Tomcat-8.0/webapps/test/
在有的mac系统中获取的地址都会带有file,如file:/private/var/folders/rc/fprxcv590blgzgvnxksmq3bh0000gn/T/tomcat-docbase.5005559936542573545.8080/
如果用这个路劲去创建新的文件,则文件的路径可能会跟你想象的不一样,而是在当前路径下创建了一个形如/file/private/var/folders/rc/fprxcv590blgzgvnxksmq3bh0000gn/T/tomcat-docbase.5005559936542573545.8080/...的文件夹
三 classpath的获取
通过线程获取
Thread.currentThread().getContextClassLoader().getResource("").getPath()
通过类加载器获取
this.getClass().getClassLoader().getResource("").getPath();
//或者
ClassName.class.getClassLoader().getResource("").getPath();
这种方法都可以获取到项目的classpath路径,但是执行的类都必须是在src路径下。因为设置Classpath的目的,是在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。
classpath具体介绍
最新文章
- cmd连接mysql的方法详解(转载)
- oracle exp imp 导入 正在跳过表 plsql 导入表 成功终止 数据 被导入
- Gulp.js 参考手册,自动化构建利器
- 方差分析 ANOVA
- 建立自己的git repository
- 老陈 ASP.NET封装
- iOS AFNetworking的使用
- mysql远程连接错误提醒:2013-Lost connection to MySQL server at ‘reading initial communication packet', system error: 0
- ios framework通用库的制作
- HBase的基本操作
- Linux--正则表达式--详解
- MySQL大数据量分页查询
- Python中if __name__==";__main__"; 语句在调用多进程Process过程中的作用分析
- 集成JPA+springmvc+spring+EJB中的Java EE应用
- 3.Flask-SQLAlchemy
- Linux系统中的计划任务
- Failed to introspect annotated methods on class 异常
- vue使用JS的形式进行路由导航
- 自学Python4.9-生成器举例
- Java File.separator
热门文章
- E20171016-mk
- 字典(Trie树)
- @RequestParam 和 @RequestBody 接受的时间格式
- html5: table表格与页面布局整理
- 涨知识---V
- 【转】Linux 之 数据流重定向
- MVC系列学习(十四)-路由规则及路由调试工具
- 【转】Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
- Java_Web三大框架之Hibernate+jsp+HQL分页查询
- Java_Web三大框架之Struts2