(1), request.getrealpath ("/"); // Tidak disarankan untuk menggunakan jalur root proyek untuk mendapatkan proyek
(2), request.getRealPath (request.getRequesturi ()); // Dapatkan jalur ke JSP. Metode ini lebih mudah digunakan dan dapat digunakan secara langsung di Servlets dan JSP
(3), request.getSession (). GetServletContext (). GetRealPath ("/"); // Dapatkan jalur root proyek. Metode ini lebih mudah digunakan dan dapat digunakan secara langsung di Servlet dan JSP
(4), this.getClass (). GetClassLoader (). GetResource (""). GetPath (); // Dapatkan jalur di bawah kelas proyek. Metode ini dapat digunakan dalam file JSP, Servlet, dan Java apa pun, karena tidak peduli JSP, Servlet, sebenarnya adalah program Java dan semuanya merupakan kelas. Jadi itu harus menjadi pendekatan umum.
0. Tentang jalur absolut dan relatif
1. Memahami Konsep Dasar Jalur Absolut: Jalur absolut adalah jalur nyata dari file atau direktori di beranda Anda pada hard disk (URL dan jalur fisik). Sebagai contoh: C: XYZ EST.TXT mewakili jalur absolut dari file test.txt. http://www.sun.com/index.htm juga merupakan jalur URL absolut. Jalur Relatif: Jalan relatif terhadap direktori benchmark tertentu. Berisi jalur relatif Web (direktori relatif dalam HTML), misalnya: dalam servlet, "/" mewakili direktori aplikasi web. dan representasi relatif dari jalur fisik. Misalnya: "./" mewakili direktori saat ini, "../" mewakili direktori sebelumnya. Representasi serupa ini juga milik jalur relatif. Selain itu, untuk URI, URL, Urn, dll., Silakan merujuk ke standar dokumentasi terkait RFC. RFC 2396: Pengidentifikasi Sumber Daya Seragam (URI): Sintaks Generik, (http://www.ietf.org/rfc/rfc2396.txt) 2. Mengenai jalur relatif dan absolut di JSP/Servlets. 2.1 Alamat Sisi Server Alamat relatif dari sisi server mengacu pada alamat aplikasi web Anda. Alamat ini diuraikan di sisi server (tidak seperti alamat relatif dalam HTML dan JavaScript, mereka diuraikan oleh browser klien)
1. Request.getRealPath
Metode: request.getrealpath ("/")
Jalur yang diperoleh: C:/Program Files/Apache Software Foundation/Tomcat 5.5/Webapps/Strutstest/
Metode: request.getrealpath (".")
Jalur yang diperoleh: C:/Program Files/Apache Software Foundation/Tomcat 5.5/Webapps/Strutstest/.
Metode: request.getrealpath ("")
Jalur yang diperoleh: C:/Program Files/Apache Software Foundation/Tomcat 5.5/Webapps/Strutstest
request.getrealpath ("web.xml")
C:/File Program/Apache Software Foundation/Tomcat 5.5/Webapps/Strutstest/Web.xml
2. Request.getParameter ("");
ActionForm.getMyFile ();
Metode: String filePath = request.getParameter ("myfile");
Jalur yang diperoleh: D:/VSS Direktori Instalasi/Users.txt
Metode: String filePath = actionForm.getMyFile ();
Jalur yang diperoleh: D:/VSS Direktori Instalasi/Users.txt
--------------------------------------------------
Strutstest adalah nama proyek
myfile in actionForm, string pribadi myfile;
Di halaman JSP: <html: file properti = "myfile"> </ html: file>
--------------------------------------------------
3. Dapatkan jalur sistem
Dalam aplikasi:
System.getProperty ("user.dir")
Di servlet:
ServletContext servletContext = config.getSerVletContext ();
String rootPath = servletContext.getRealPath ("/");
Di JSP:
application.getrealpath ("")
4. Lainnya 1
1. Ini bisa dalam metode init dari servlet
String path = getSerVletContext (). GetRealPath ("/");
Ini akan mendapatkan jalur lengkap ke proyek web
Misalnya: e:/eclipsem9/ruang kerja/pohon/
Pohon adalah direktori root dari proyek web saya
2. Anda juga dapat menyebutnya di kelas mana pun kapan saja
this.getClass (). getClassLoader (). getResource (""). getPath (); // Setelah pengujian, metode ini aman dan paling efektif
this.getClass (). getResource ("/conf"). getPath (); // Setelah pengujian, metode ini juga aman
Ini akan mendapatkan jalur lengkap ke direktori kelas
Misalnya:/d:/workspace/strutstest/webroot/web-inf/class/
Ada juga this.getClass (). GetResource (""). GetPath (). Tostring ();
Ini akan mendapatkan/d:/workspace/strutstest/webroot/web-inf/class/bl/
Metode ini juga dapat digunakan tanpa menentukan jalur di lingkungan web.
3.request.getContextPath ();
Dapatkan lingkungan konteks root web
Suka /pohon
Pohon adalah konteks root dari proyek web saya
5. 2 lainnya
Beberapa cara untuk mendapatkan jalur di Java - -
1. Bagaimana JDK menentukan jalur dalam program ini? Secara umum, dalam pemrograman, jalur file dibagi menjadi jalur relatif dan jalur absolut. Jalur absolut lebih mudah ditangani, tetapi tidak fleksibel. Oleh karena itu, ketika kami mengoperasikan file dalam pemrograman, kami biasanya membaca jalur relatif file.
Jalur relatif mungkin sedikit lebih rumit, tetapi juga relatif sederhana. Jalur relatif, terutama relatif bagi siapa, dapat menjadi jalur loader kelas, atau jalur di bawah file java saat ini. Dalam pemrograman JSP, itu mungkin jalur situs. Dibandingkan dengan jalur situs, kami dapat menggunakan getServletContext (). GetRealPath ("/") dan request.getRealPath ("/"): Ini adalah jalur absolut untuk mendapatkan situs; dan getContextPath (): Dapatkan jalur virtual situs;
2. Class.getClassLoader.getPath (): Dapatkan jalur ke class loader: Apa itu class loader? Secara umum, loader kelas ditentukan oleh sistem dan pengguna sendiri; ClassLoader sistem disediakan oleh JDK, dan jalurnya adalah jalur di bawah JDK, atau dalam pemrograman JSP, seperti Tomcat, lokasi loader kelas yang diperoleh adalah jalur loader yang dirancang oleh Tomaca.
Setelah memahami ini, pengoperasian jalur file akan sangat jelas. Saat kami memprogram, kami hanya perlu mencari tahu jalur apa yang kami operasikan relatif dan mendapatkan jalur relatif.
6. Ringkasan
1. Dapatkan jalur file di bawah server web
request.getrealpath ("/")
application.getrealpath ("") 【jsp】
ServletContext (). GetRealPath ("")
System.getProperty ("user.dir") [Dipanggil di lokasi yang berbeda, jalur yang diperoleh diubah secara dinamis]
2. Dapatkan jalur lokal
Dalam JSP, <html: file properti = "myfile"/>
request.getParameter ("myfile");
ActionForm.getMyFile ();
Nilai yang diperoleh adalah sama: seperti D:/VSS Directory Instalasi/Users.txt
***************************************
this.getClass (). getClassLoader (). getResource (""). getPath ();
==/d:/Workspace/Strutstest/Webroot/Web-Inf/Kelas/
this.getClass (). getResource (""). getPath (). tostring ();
==/d:/workspace/strutstest/webroot/web-inf/class/bl/
3. Dapatkan jalur relatif
request.getContextPath ();
Selain itu:
GetResource atau getResourceasstream tersedia di file java
Contoh: getClass (). GetResourceasStream (filepath); // FilePath dapat menjadi "/nama file", di sini/mewakili jalur default Web-INF/kelas di bawah jalur root penerbitan web: Web-inf/kelas. Itu telah diuji di Tomcat.
Berbagai metode (ringkasan) di atas Java memperoleh semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.