Rumah  >  Artikel  >  Java  >  Bagaimana untuk menyelesaikan masalah bahawa projek Web Java tidak dapat mengakses fail html

Bagaimana untuk menyelesaikan masalah bahawa projek Web Java tidak dapat mengakses fail html

WBOY
WBOYke hadapan
2023-04-27 20:34:121693semak imbas

Masalah perangkap dan sebab

Masalah perangkap

Memandangkan JavaWeb penulis blog adalah kursus ranap, dia tidak begitu biasa dengan beberapa perkara pengetahuan, jadi masalah hari ini muncul&mdash ;—Tomcat tidak boleh mengakses fail html.

404 akan sentiasa muncul apabila berjalan. Setiap kali ini berlaku ia menjengkelkan dan mengelirukan. Walaupun masalah ini sebenarnya tidak memberi impak yang besar kepada sesetengah projek, ia akan menjadikan direktori projek saya sangat bersepah. Secara umumnya, masalahnya ialah jika anda tidak menyelesaikannya, sekumpulan sumber statik akan muncul dalam satu folder. Ini mungkin menyebabkan ia mengambil masa yang lama untuk mencari fail untuk beberapa projek kemudian.

Sebab berlakunya perangkap

Akibat kecuaian, saya meletakkan beberapa fail html di bawah WEB-INF. Oleh kerana sumber di bawah WEB-INF tidak boleh diakses secara langsung (WEB-INF ialah direktori keselamatan aplikasi web Java, ia hanya terbuka kepada pelayan dan tidak kelihatan kepada klien.), ia hanya boleh diakses melalui permintaan dan pemajuan. Oleh itu, ia tidak boleh diakses pada penyemak imbas (pengalihan semula juga tidak boleh dilakukan).

Java Web项目访问不到html文件怎么解决

Penyelesaian

Seperti yang dinyatakan di atas, akses langsung tidak boleh diakses. Tetapi kami boleh mengakses fail html melalui pemajuan dan permintaan. Dalam projek ini, blogger menggunakan akses permintaan. Dalam erti kata lain, hujung hadapan mula-mula menghantar isyarat ke hujung belakang - menunjukkan bahawa saya perlu meminta halaman web tertentu. Kemudian bahagian belakang bertindak balas dengan sewajarnya dan kemudian kembali untuk melompat ke antara muka yang sepadan.

public class regist extends ssm.ViewBaseServlet{//继承了一个类,这个类就是用来解析html时用的。
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     super.processTemplate("/user/regist",req,resp);//调用了类的方法,其实这个地方可以选择转发更方便!
    }

Konfigurasi web.xml:

    <servlet-name>jump</servlet-name>
    <servlet-class>database.jump</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>jump</servlet-name>
    <url-pattern>/jump</url-pattern>
  </servlet-mapping>

Atau tambahkan @WebServlet("/login") dalam fail Java.

Sudah tentu, kami juga boleh meletakkan sumber statik di luar WEB-INF pada tahap yang sama seperti statik Secara amnya, jika diletakkan di luar, anda perlu menggunakan pemintas/penapis untuk melengkapkan pengesahan kebenaran dan menentukan pengguna yang sah.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah bahawa projek Web Java tidak dapat mengakses fail html. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam