java项目获取绝对路径的方法

spring mvc获取绝对路径的几种方法
1.首先如果是在一个controller方法中,则很简单,直接用下面语句。

      @RequestMapping("categoryHome")
      public ModelAndView categoryHome(ParamModel pm,HttpServletRequest req) {
          String path=req.getServletContext().getContextPath();
          System.out.println(path);
          String realPath=req.getServletContext().getRealPath("/uploadFile");
          System.out.println(realPath);
          ModelAndView mv = new ModelAndView("back/category/CategoryHome");
          mv.addObject("pm", pm);
          return mv;
     }

第3行和第5行分别获取到项目的根目录和/uploadFile的绝对目录,打印如下。

2.还有一种方法是在web.xml配置如下代码


webAppRootKey
www.qgranite.com

然后在java代码中我们可以这样来获取绝对路径。

String basePath = System.getProperty("www.qgranite.com");
System.out.println("basePath:"+basePath);

3.当我们不在controller方法中,想要获取绝对路径,其实也是可以的,参考第一种方法,我们只要获取了ServletContext就可以了,可通过以下方法曲线救国。

    WebApplicationContext webApplicationContext = ContextLoader
                .getCurrentWebApplicationContext();
        ServletContext servletContext = webApplicationContext
                .getServletContext();
        // 得到文件绝对路径
        String realPath = servletContext.getRealPath("/uploadFile");
        System.out.println("realPath:"+realPath);

转自https://www.cnblogs.com/roy-blog/p/7066152.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值