在java web应用程序中获取上下文路径

问题描述:

我正尝试在java web应用程序中获取项目上下文路径。在java web应用程序中获取上下文路径

我的工作室位于D:\ GED \ WSysGED,我想获得该路径。

我发现有两种方法可以使用这个指令。

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

但代码返回d:\蚀-JEE-luna的-R-的win32 \蚀 即其中蚀可执行文件的位置。

的第二种方法是使用一个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:\用户\涓\ SysGED.metadata.plugins \有机eclipse.wst.server.core \ tmp6 \ wtpwebapps \ WSysGED

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

在此先感谢您的时间和aswers。

+0

第二种方法是正确的。返回的路径是您的应用程序服务器的部署路径。 Java EE中不存在项目路径。 – home 2014-09-24 13:55:04

+0

好的,你的答案,只是一件事。路径C:\ Users \ Juan \ SysGED.metadata.plugins \ org.eclipse.wst.server.core \ tmp6 \ wtpwebapps \ WSysGED 是静态的,或者部署有时会更改路径? @home – 2014-09-24 14:09:43

+0

它会根据您的应用程序服务器而变化。请告诉我们为什么您需要访问该路径 - 其他解决方案可用? – home 2014-09-24 14:22:49

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

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

    } 
+0

请编辑更多信息。仅限代码和“尝试这个”的答案是不鼓励的,因为它们不包含可搜索的内容,也不解释为什么有人应该“尝试这个”。 – abarisone 2016-09-01 07:45:31