2014-09-24 115 views
1

我正嘗試在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

回答

0
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

相關問題