ServletContext.getRealPath("/") Maksud dan Penggunaan
Pengenalan
Dalam pengaturcaraan Servlet, ServletContext.getRealPath( ) menukar laluan kandungan web (laluan dalam struktur folder WAR dikembangkan) kepada laluan sistem fail cakera mutlak.
Penggunaan '/' dalam getRealPath()
"/" yang diluluskan kepada getRealPath() mewakili akar kandungan web, atau direktori di mana semua kandungan boleh diakses web berada. Ia adalah bersamaan dengan folder /web dalam struktur projek berikut:
YourWebProject
|-- src
|-- web
|-- META-INF
|-- WEB-INF
|-- index.jsp
|-- login.jsp
Salin selepas log masuk
Senario Penggunaan
Bilakah anda harus menggunakan getRealPath("/")?
-
Tiada kes penggunaan yang wajar: Elakkan menggunakan getRealPath() dalam kebanyakan senario. Terdapat alternatif yang lebih mudah alih dan boleh dipercayai.
Alternatif untuk mendapatkanRealPath()
-
Membaca sumber web: Gunakan ServletContext. getResourceAsStream() sebaliknya untuk aliran input bagi sumber.
-
Menyenaraikan sumber web: Gunakan ServletContext.getResourcePaths() untuk senarai semua laluan sumber web yang tersedia.
-
Menyimpan fail yang dimuat naik atau mencipta fail sementara : Rujuk sumber berkaitan dalam bahagian "Lihat juga". di bawah.
Awas
-
Perubahan yang hilang: Perubahan kepada laluan sistem fail cakera yang diperoleh daripada getRealPath() akan hilang apabila penempatan semula WAR, kerana ia tidak disimpan dalam WAR fail.
-
Tidak boleh dipercayai: getRealPath() boleh mengembalikan laluan batal atau tidak dijangka jika pelayan tidak dikonfigurasikan untuk mengembangkan fail WAR ke sistem fail cakera.
Atas ialah kandungan terperinci Apakah Maksud dan Penggunaan ServletContext.getRealPath('/')?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!