Apabila servlet dipanggil, halaman dimuatkan daripada fail JSP
P粉289775043
2023-08-24 12:47:14
<p>Bolehkah saya memanggil servlet daripada fail JSP tanpa menggunakan borang HTML? </p>
<p>Sebagai contoh, paparkan hasil daripada pangkalan data dalam jadual HTML semasa pemuatan halaman. </p>
Anda perlu menggunakan kaedah forward/include RequestDispatcher mengikut keperluan anda untuk mencapai kesan yang sama.
Dalam JSP anda perlu menggunakan tag berikut:
jsp:include:
Contohnya:
jsp:ke hadapan:
Contohnya:
Sila lihat Contoh JSP Lanjutan: Komunikasi JSP-Servlet:
http://www.oracle.com/technology/sample_code/tech/java/jsps/ojsp/jspservlet.html
Anda boleh menggunakan kaedah servlet's
doGet()
untuk mempraproses permintaan dan memajukan permintaan kepada JSP. Kemudian hanya tuding ke URL servlet dan bukannya URL JSP dalam pautan dan bar alamat penyemak imbas.Contohnya:
Sila ambil perhatian bahawa fail JSP diletakkan dalam folder
/WEB-INF
untuk menghalang pengguna daripada mengaksesnya secara langsung tanpa memanggil servlet.Juga ambil perhatian bahawa
@WebServlet
hanya berfungsi dengan Servlet 3.0 (Tomcat 7, dsb.), lihat @WebServlet anotasi dengan Tomcat 7@WebServlet
仅适用于Servlet 3.0(Tomcat 7等),请参阅@WebServlet注释与Tomcat 7。如果您无法升级,或者由于某种原因需要使用与Servlet 3.0不兼容的web.xml
,则需要手动在web.xml
. Jika anda tidak boleh menaik taraf, atau atas sebab tertentu perlu menggunakanweb.xml
yang tidak serasi dengan Servlet 3.0, anda perlu mendaftarkan servlet secara manual dalamweb.xml
dalam cara berikut, Sebaliknya gunakan anotasi:Setelah servlet didaftarkan dengan betul melalui anotasi atau XML, anda kini boleh membukanya melalui http://localhost:8080/context/products di mana
/context
是Web应用程序部署的上下文路径,/products
是servlet的URL模式。如果您在其中有任何HTML<form>
,则只需将其POST到当前URL,如<form method="post">
,并在同一个servlet中添加一个doPost()
akan melaksanakan kerja pasca pemprosesan. Sila teruskan membaca pautan berikut untuk contoh yang lebih khusus tentang ini.Lihat juga