Menyingkap Misteri: Menyelesaikan 404 Ralat untuk Sumber Statik dalam Jersi
Apabila memetakan corak url Jersi ke / dalam 2.0 keluaran, pengguna sering menghadapi dilema membingungkan ralat 404 untuk sumber statik seperti index.html. Ini disebabkan terutamanya oleh fakta bahawa pemetaan Jersey / memintas semua permintaan masuk, tidak memberi ruang untuk bekas web menyiarkan kandungan statik.
Merangkul Penapis: Laluan untuk Menyajikan Kandungan Statik
Untuk menyelesaikan isu ini, kami menyelidiki bidang penapis, terutamanya com.sun.jersey.spi.container.servlet.ServletContainer untuk Jersi 1.x. Dengan menggantikan konfigurasi XML servlet dengan konfigurasi penapis, kami mewujudkan pemetaan penapis yang mewakilkan semua permintaan masuk kepada Jersey. Walau bagaimanapun, kami juga memperkenalkan init-param tersuai bernama "com.sun.jersey.config.property.WebPageContentRegex" dengan nilai "/.*html". Parameter ini berfungsi sebagai ungkapan biasa yang menentukan sambungan fail yang akan dikecualikan daripada pengendalian Jersey dan sebaliknya berfungsi sebagai kandungan statik.
Melibatkan diri dengan Jersi 2.x: Pendekatan Yang Diperhalusi
Peralihan kepada Jersey 2.x menggesa sedikit penyesuaian dalam konfigurasi penapis. Walaupun pendekatan sebahagian besarnya kekal sama, nama hartanah mengalami perubahan. Init-param "jersey.config.server.provider.packages" mengenal pasti pakej yang mengandungi kelas sumber, manakala "jersey.config.servlet.filter.staticContentRegex" memikul tanggungjawab mentakrifkan ungkapan biasa untuk mengecualikan sambungan fail tertentu daripada bidang kuasa Jersey.
Pertimbangan Tambahan untuk Aliran Kandungan Statik yang Lancar
Untuk memudahkan penyajian kandungan statik yang lancar, pertimbangkan pengesyoran berikut:
Atas ialah kandungan terperinci Bagaimana untuk Melayan Sumber Statik (cth., index.html) dengan Jersi 2.0 Tanpa Ralat 404?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!