servlet之使用ServletContext獲取資源路徑
阿新 • • 發佈:2022-04-10
資源存放位置:
獲取路徑:
package cn.ServletContext.ml;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Set;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 使用ServletContext物件獲取資源路徑
* @author CDU_LM
*
*/
@WebServlet("/DServlet")
public class DServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 獲取ServletContext物件
ServletContext app = this.getServletContext();
// 獲取路徑(絕對路徑):有碟符的路徑:D:/xxx/xx/xx.txt等
String realPath = app.getRealPath("/index.jsp");
System.out.println(realPath);
// 將讀取的資源轉換為輸入流物件
InputStream input = app.getResourceAsStream("/index.jsp");
// 獲取當前路徑下所有資源的路徑
Set<String> resourcePaths = app.getResourcePaths("/WEB-INF");
System.out.println(resourcePaths);
}
}
請求結果:
D:\SoftWare\SoftWareFiles\EclipsProject\ServletDemo\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ServletContext\index.jsp
[/WEB-INF/lib/, /WEB-INF/classes/, /WEB-INF/web.xml]