java - 在 Java Web 应用程序中获取上下文路径

标签 java

我正在尝试获取 Java Web 应用程序中的项目上下文路径。我的项目位于 D:\GED\WSysGED 目录中,我想获取该路径。在我的研究中,我发现了两种方法:第一种使用 System.getProperty,如下所示:

String path= System.getProperty("user.dir");  
System.out.println(path);

但该代码返回 D:\eclipse-jee-luna-R-win32\eclipse,Eclipse 可执行文件所在的位置。

第二种方法是使用 servlet。

我在这之后创建了那个 tutorial

public class ContextPathServlet extends HttpServlet {


    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

        ServletContext servletContext = getServletContext();
        String contextPath = servletContext.getRealPath("/");
        PrintWriter out = response.getWriter();
        out.println("<br/>File system context path (in TestServlet): " + contextPath);
    }
}

但它正在显示 C:\Users\Juan\SysGED\.metadata\.plugins\org.eclipse.wst.server.core\tmp6\wtpwebapps\WSysGED

获取项目路径的正确方法是什么?

最佳答案

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

        String contextPath = request.getContextPath();
        System.out.println(contextpath);

    }

关于java - 在 Java Web 应用程序中获取上下文路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26018657/

相关文章:

java - 字符串格式化程序未格式化整个字符串

java - Android 应用程序支持的设备是否取决于编写代码的 Java 版本?

c# - 为什么在我的质数测试中 C# 比 Java 和 C++ 慢得多

java - 当已知 Field 和 Value 扩展 Mirror 时,是否可以将 Map<Field, Value> 转换为 Map<Mirror, Mirror> ?

java - 清除最近任务时防止杀死服务

java - 打包后的 Spring Boot 应用程序的相对路径在哪里

java - 在 Java 8 中对具有聚合的多个字段进行分组

java - Mockito:通缉但未调用

java - 如何使用JSoup通过发送特定日期来获取网页?

java - 如何与java代码并行读取 Parquet 文件