获取Java Web项目路径是Java Web应用程序开发中的一个常见需求,以下是Java获取项目路径的多种方式:
使用getClassLoader获取项目路径
可以通过Thread.currentThread().getContextClassLoader().getResource("")来获取classpath下的路径
String path = Thread.currentThread().getContextClassLoader().getResource("").getPath();
System.out.println(path);
这条语句可以找到Jetty web app项目根目录,上述语句的输出结果可以是 /path/to/web/app/WEB-INF/classes/。
使用ServletContext获取Web项目路径
可以通过ServletContext获取Web项目的路径
String path = getServletContext().getRealPath("/");
System.out.println(path);
上述语句可以找到Jetty web app项目的根目录,上述语句的输出结果可以是 /path/to/web/app
使用System.getProperty获取项目路径
可以通过System.getProperty获取项目路径
String path = System.getProperty("user.dir");
System.out.println(path);
上述语句可以找到项目的根目录,输出结果可以是 /path/to/project。
使用File获取项目路径
可以使用File的构造函数获取项目路径
String path = new File("").getAbsolutePath();
System.out.println(path);
上述语句可以找到项目的根目录,输出结果可以是 /path/to/project。
除了上述四种方式,还有其他的获取项目路径的方式,例如使用spring的ResourceUtils类和ClassUtils类。对于Java Web项目,使用ServletContext获取Web项目的根路径是最常用的方法。
示例:
@WebServlet("/path")
public class PathServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String path = getServletContext().getRealPath("/");
response.getWriter().println(path);
}
}
运行这段代码之后,执行http://localhost:8080/path即可看到项目的根目录。
另一个示例:
public class PathDemo {
public static void main(String[] args) {
String path = new File("").getAbsolutePath();
System.out.println(path);
}
}
这段代码将会在控制台输出项目的根目录。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java获取项目路径的多种方式 - Python技术站