Cara Memanggil Servlet daripada JSP pada Pemuatan Halaman
Dalam senario tertentu, anda mungkin perlu menggunakan servlet daripada fail JSP tanpa menggunakan borang HTML. Contohnya, untuk memaparkan hasil pertanyaan pangkalan data dalam jadual HTML apabila halaman dimuatkan.
Penyelesaian Menggunakan Kaedah doGet()
Kaedah doGet() dalam servlet membenarkan meminta prapemprosesan dan pengalihan kepada JSP. Begini cara anda boleh melaksanakan ini:
Laksanakan doGet() dalam Servlet:
@WebServlet("/products") public class ProductsServlet extends HttpServlet { ... protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response); } }
Akses Data Servlet dalam JSP:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ... <table> <c:forEach items="${products}" var="product"> <tr> <td>${product.name}</td> <td>${product.description}</td> <td>${product.price}</td> </tr> </c:forEach> </table>
Dengan melakukan ini, fail JSP boleh mengakses objek yang ditetapkan oleh servlet dalam kaedah doGet()nya, membolehkan penjanaan kandungan dinamik.
Mencegah Akses JSP Terus
Atas sebab keselamatan, Fail JSP hendaklah diletakkan dalam folder /WEB-INF, menghalang akses terus oleh pengguna.
Nota
Anotasi @WebServlet memerlukan Servlet 3.0 atau lebih tinggi. Jika anda menggunakan versi yang lebih lama, anda mesti mendaftarkan servlet secara manual dalam fail web.xml.
Rujukan
Atas ialah kandungan terperinci Bagaimana untuk Memanggil Servlet daripada JSP pada Muatan Halaman untuk Memaparkan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!