วิธีการไม่แนะนำให้ใช้วิธีนี้อีกต่อไป GetRealPath () แทน::
request.getSession (). getServletContext (). getRealPath ()
ใช้ this.getServletContect (). getRealPath () ใน servlet
ใช้ this.getServlet (). getServletContext (). getRealPath () ใน struts
ใช้ servletactionContext.getRequest (). getRealPath () ในการดำเนินการ;
สามข้างต้นเป็นเส้นทางที่แน่นอนทั้งหมดของไฟล์ที่กำลังทำงานอยู่ในเซิร์ฟเวอร์
รับบทสรุปเส้นทางต่าง ๆ จากคำขอ
request.getRealPath ("url"); // ไดเรกทอรีเสมือนถูกแมปกับไดเรกทอรีจริง
request.getRealPath ("./"); // ไดเรกทอรีที่อยู่หน้าเว็บ
request.getRealPath ("../"); // ไดเรกทอรีก่อนหน้าของไดเรกทอรีที่หน้าเว็บอยู่
request.getContextPath (); // ชื่อของแอปพลิเคชันเว็บไดเรกทอรี
ตัวอย่างเช่น http: // localhost: 7001/bookstore/
/ bookstore/ => [contextPath] (request.getContextPath ())
รับเส้นทางเต็มไปยังโครงการเว็บ
string strdirpath = request.getSession (). getServletContext (). getRealPath ("/");
ใช้การทดสอบชื่อโครงการเป็นตัวอย่าง:
(1) รับเส้นทางเต็มของหน้าปัจจุบันที่มีชื่อโครงการ: request.getRequesturi ()
ผลลัพธ์: /test/test.jsp
(2) รับชื่อโครงการ: request.getContextPath ()
ผลลัพธ์: /ทดสอบ
(3) รับชื่อเต็มในไดเรกทอรีที่หน้าปัจจุบันอยู่: request.getServletPath ()
ผลลัพธ์: หากหน้าอยู่ในไดเรกทอรี jsp /test/jsp/test.jsp
(4) รับเส้นทางเต็มรูปแบบของเซิร์ฟเวอร์ที่หน้าอยู่: Application.getRealPath ("page.jsp")
ผลลัพธ์: D: /resin/webapps/test/test.jsp
(5) รับเส้นทางที่แน่นอนไปยังเซิร์ฟเวอร์ที่หน้านั้นอยู่: abspath = ใหม่ java.io.file (application.getRealPath (request.getRequesturi ())). getParent ();
ผลลัพธ์: D:/resin/webapps/test
2. รับเส้นทางในชั้นเรียน:
(1) เส้นทางสัมบูรณ์ไปยังคลาส: class.class.getClass (). getResource ("/"). getPath ()
ผลลัพธ์:/d:/test/webroot/web-inf/classes/pack/
(2) รับพา ธ ไปยังโครงการ: System.getProperty ("user.dir")
ผลลัพธ์: D:/ทดสอบ
3. รับเส้นทางใน servlet:
(1) รับไดเรกทอรีโครงการ: request.getSession (). getServletContext (). getRealPath ("") พารามิเตอร์สามารถระบุได้ในชื่อแพ็คเกจ
ผลลัพธ์: E:/tomcat/webapps/test
(2) รับที่อยู่แถบที่อยู่ IE: request.getRequesturl ()
ผลลัพธ์: http: // localhost: 8080/ทดสอบ/ทดสอบ
(3) รับที่อยู่สัมพัทธ์: request.getRequesturi ()
ผลลัพธ์: /ทดสอบ /ทดสอบ