spring中获取绝对路径的几种方法

spring中获取绝对路径的几种方法

1、在普通类中,想要获取绝对路径,可以通过获取ServletContext的方式。
WebApplicationContext webApplicationContext = ContextLoader
                .getCurrentWebApplicationContext();
ServletContext servletContext = webApplicationContext.getServletContext();
// 得到文件绝对路径
String realPath = servletContext.getRealPath("/resource");
System.out.println("realPath:"+realPath);
2、在普通类中,想要获取绝对路径,可以通过获取ServletContext的方式。
@RequestMapping("test")
public String test(HttpServletRequest request) {
    String path = request.getServletContext().getContextPath();
    System.out.println(path);
    String realPath = req.getServletContext().getRealPath("/uploadFile");
    System.out.println(realPath);
    return realPath;
}
3、还有一种方法是在web.xml配置。
<!-- 配置webAppRootKey -->
<context-param>  
  <param-name>webAppRootKey</param-name>  
  <param-value>project.root</param-value>  
</context-param>

<listener>  
    <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>  
</listener>

如果没有配置webAppRootKey,可以用System.getProperty(“webapp.root”)

如果配置了webAppRootKey,可以用System.getProperty(“project.root”),project.root 这个值可以自定义

注:比如在log4j.properties配置文件,就可以按下面的方式使用${webapp.root}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值