如何在頁面載入時從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); } }
在JSP中存取Servlet資料:
...
${product.name} | ${product.description} | ${product.price} |
透過這樣做,JSP 檔案可以存取 servlet 在其 doGet() 方法中設定的對象,從而實現動態內容生成。
防止直接JSP 存取
出於安全原因,JSP 檔案應放置在/WEB-INF 資料夾中,防止直接存取users.
注意
@WebServlet註解需要Servlet 3.0或更高版本。如果您使用的是舊版本,則必須在 web.xml 檔案中手動註冊 servlet。
[Servlet 返回“ HTTP狀態404 請求的資源(/servlet)不可用"]
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3