Rumah >Java >javaTutorial >Apakah yang dipulangkan oleh ServletContext.getRealPath('/') dan bilakah saya harus mengelak daripada menggunakannya?

Apakah yang dipulangkan oleh ServletContext.getRealPath('/') dan bilakah saya harus mengelak daripada menggunakannya?

Patricia Arquette
Patricia Arquetteasal
2024-12-19 22:54:11740semak imbas

What does ServletContext.getRealPath(

Apakah Maksud servletcontext.getRealPath("/")?

The ServletContext#getRealPath( ) kaedah menterjemah laluan kandungan web (laluan dalam struktur folder WAR dikembangkan pada sistem fail cakera pelayan) ke laluan sistem fail cakera mutlak.

"/" yang diluluskan kepada getRealPath() mewakili akar kandungan web, folder /web dalam yang berikut struktur projek:

|-- src
| :
|
|-- web
| |-- META-INF
| | `-- MANIFEST.MF
| |-- WEB-INF
| | `-- web.xml
| |-- index.jsp
| `-- login.jsp
:

Oleh itu, getRealPath("/") mengembalikan laluan sistem fail cakera mutlak folder /web bagi PERANG diperluaskan projek fail.

Bilakah saya harus menggunakannya?

Elakkan menggunakan getRealPath(), kerana terdapat lebih banyak penyelesaian mudah alih untuk:



  • Mendapatkan InputStream sumber web: gunakan ServletContext#getResourceAsStream()

  • mendapatkan senarai laluan sumber web yang tersedia: gunakan ServletContext#getResourcePaths()

  • Mendapatkan sumber individu sebagai URL: gunakan ServletContext#getResource()

Tambahan Nota

Pengubahsuaian yang dibuat pada fail yang ditulis ke dalam laluan yang dikembalikan oleh getRealPath() hilang semasa penempatan semula WAR.

getRealPath () menganggap fail WAR dikembangkan kepada sistem fail cakera, yang tidak selalu berlaku. Dalam senario sedemikian, getRealPath() mungkin mengembalikan null atau laluan yang tidak dijangka.

Atas ialah kandungan terperinci Apakah yang dipulangkan oleh ServletContext.getRealPath('/') dan bilakah saya harus mengelak daripada menggunakannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn