学习
实践
活动
专区
工具
TVP
写文章

JavaWeb获取项目路径的两种方法

在开发过程中涉及一些文件上传的操作,如果不是那种集群或者分布式的环境的话,一般都是直接把文件存储在当前的服务器中,这就需要获得当前项目在服务器的路径了。下面主要讲解两种方式:

方式一:有request对象的(Servlet,SpringMVC的Controller都有这个对象)

String realPath = request.getServletContext().getRealPath("/");

我们在代码里把这个路径打印下看看:

输出的结果:

这个是eclipse跑tomcat的项目所在地址(好久没用eclipse了,感觉不会用了),通过request得到这个路径,我们就可以把文件上传到项目里了。

小编给大家推荐一个学习氛围超好的地方,java交流:一四四九零一零七六!适合在校大学生,小白,想转行,想通过这个找工作的加入。里面资料都是大家贡献的,几百个G了!什么PDF,零基础入门,都是有视频加源码的。而已里面好多学生,工作了的,遇到bug了可以寻求帮助,遇到解决不了的问题也可以和大家交流,从而解决自己多时的问题。

方式二:无request,常出现在定时任务中

如果写一个定时任务,每月末从数据库中生产一份Excel(导出Excel请查看我前篇文章),然后通知用户来获取,这里没有request,无法通过上面的方法获得项目的路径,这时候可以通过以下方法获得:

String path = this.getClass().getClassLoader().getResource("/").getPath();

我们在代码里跑一下看看:

输出结果:

这个就是编译后的class文件所在的目录,然后通过../../就可以获得项目的路径了。这里需要说明下的是,这种方法是不能直接在main方法里使用的:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180324A06PE600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券