首页 > 编程语言 > 详细

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

时间:2017-06-22 17:31:22      阅读:542      评论:0      收藏:0      [点我收藏+]

1.首先如果是在一个controller方法中,则很简单,直接用下面语句。

 1     @RequestMapping("categoryHome")
 2     public ModelAndView categoryHome(ParamModel pm,HttpServletRequest req) {
 3         String path=req.getServletContext().getContextPath();
 4         System.out.println(path);
 5         String realPath=req.getServletContext().getRealPath("/uploadFile");
 6         System.out.println(realPath);
 7         ModelAndView mv = new ModelAndView("back/category/CategoryHome");
 8         mv.addObject("pm", pm);
 9         return mv;
10     }

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

技术分享

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

<context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>www.qgranite.com</param-value>
</context-param>

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

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

打印结果如下:

技术分享

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

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

打印出来的结果

技术分享

 

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

原文:http://www.cnblogs.com/roy-blog/p/7066152.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!