【发布时间】:2014-12-05 07:32:39
【问题描述】:
我使用 clojure+ring 构建在 Glassfish 3 上运行的 Web 应用程序。 为了正确初始化 log4j,我需要找到 WEB-INF 文件夹的正确绝对路径。
是否有任何方法可以确定在 app-server/ 上运行的 Web 应用程序中 WEB-INF 文件夹的绝对路径
【问题讨论】:
我使用 clojure+ring 构建在 Glassfish 3 上运行的 Web 应用程序。 为了正确初始化 log4j,我需要找到 WEB-INF 文件夹的正确绝对路径。
是否有任何方法可以确定在 app-server/ 上运行的 Web 应用程序中 WEB-INF 文件夹的绝对路径
【问题讨论】:
您可以使用ServletContext.getRealPath() 方法。
例如,将以下内容插入 XHTML:
Path: #{request.servletContext.getRealPath("/")}
这将显示 XHTML 文件的完整路径,例如当你将它插入到一个名为index.xhtml 的文件中时,它会显示包含这个index.xhtml 的目录。
因为大多数时候,XHTML 文件没有放在WEB-INF 文件夹中,您可能必须按以下方式连接字符串:
#{request.servletContext.getRealPath("/")}WEB-INF
您也可以在处理程序中执行此操作:
HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
System.out.println("Path: " + request.getServletContext().getRealPath("/"));
另见:
【讨论】: