java web如何获取项目的根路径

时间:2020-12-14 18:44:52

在java web中,常见获取项目的根路径方式为:

request.getRealPath("")方法,但是这个方法有可能返回为空。

在servlet api文档中, request.getRealPath() 返回一个字符串,包含一个给定虚拟路径的真实路径,如果转换错误,则返回null。这样的方法是不推荐使用的,类似还有request.getSession().getServletContext().getRealPath("/"),这些都是不可靠的!那怎么获取比较可靠呢?下面就是我推荐使用的方法:

ClassName.class.getResource("/").getPath().replaceAll("^(/)|(/WEB-INF/classes/)$", "");

        备注:ClassName就是你的一个类名。