如何在頁面載入時從JSP 呼叫Servlet
在某些情況下,您可能需要從JSP 檔案呼叫Servlet,而無需使用HTML 表單。例如,在頁面載入時在 HTML 表中顯示資料庫查詢結果。
使用 doGet() 方法的解決方案
servlet 中的 doGet() 方法允許請求預處理並重定向到 JSP。實作方法如下:
在 Servlet 中實作 doGet():
@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); } }
<%@ 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>
阻止直接 JSP 存取
出於安全原因, JSP 檔案應放置在 /WEB-INF 資料夾中,防止使用者直接存取。注意
@WebServlet 註解需要 Servlet 3.0 或更高版本。如果您使用的是舊版本,則必須在 web.xml 檔案中手動註冊 servlet。參考文獻
以上是如何在頁面載入時從 JSP 呼叫 Servlet 以顯示資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!