java獲取WEB-INF目錄絕對路徑
JSP WEB工程在不用servlet的情況下如何在普通的java類中獲取WEB-INF的絕對路徑呢?
如下圖所示,我在WEB-INF目錄下面放了一個檔案server.xml,
我需要在普通的java類中獲取server.xml的絕對路徑,怎樣才能獲取到呢?
---------------------------------------------------------------------------------------------------------------------------------------------
獲取WEB-INF目錄下面的server.xml檔案絕對路徑的程式碼如下:
/** * 獲取WEB-INF目錄下面server.xml檔案的路徑 * @return */ public static String getXmlPath() { //file:/D:/JavaWeb/.metadata/.me_tcat/webapps/TestBeanUtils/WEB-INF/classes/ String path=Thread.currentThread().getContextClassLoader().getResource("").toString(); path=path.replace('/', '\\'); // 將/換成\ path=path.replace("file:", ""); //去掉file: path=path.replace("classes\\", ""); //去掉class\ path=path.substring(1); //去掉第一個\,如 \D:\JavaWeb... path+="server.xml"; //System.out.println(path); return path; }
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
我在JSP介面測試的程式碼如下:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<%@page import="tools.ReadXML"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> <center> server.xml所在路徑:<br> <%=ReadXML.getXmlPath()%> </center> </body> </html>
效果截圖如下:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
最後廢話幾句:
我們都知道在JSP WEB工程中有幾個固定的目錄,如1.WEB-INF目錄,2.classes目錄....
而classes目錄就在WEB-INF目錄下面。在執行JSP網站時,所有的java類都被放在了classes目錄下面,
我們通過以下語句獲取class目錄所在的目錄:
Thread.currentThread().getContextClassLoader().getResource("").toString();
一般獲取到的結果形式為:
file:/D:/JavaWeb/.metadata/.me_tcat/webapps/TestBeanUtils/WEB-INF/classes/
騷年,根據以上這個字串,不難提取出WEB-INF目錄的絕對路徑吧!
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
您的十分滿意是我追求的宗旨。
您的一點建議是我後續的動力。