首頁 > Java > java教程 > 如何在頁面載入時從 JSP 呼叫 Servlet 以顯示資料?

如何在頁面載入時從 JSP 呼叫 Servlet 以顯示資料?

Mary-Kate Olsen
發布: 2024-12-08 07:08:20
原創
707 人瀏覽過

How to Call a Servlet from a JSP on Page Load to Display Data?

如何在頁面載入時從JSP 呼叫Servlet

在某些情況下,您可能需要從JSP 檔案呼叫Servlet,而無需使用HTML 表單。例如,在頁面載入時在 HTML 表中顯示資料庫查詢結果。

使用 doGet() 方法的解決方案

servlet 中的 doGet() 方法允許請求預處理並重定向到 JSP。實作方法如下:

  1. 在 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);
        }
    }
    登入後複製
  2. <%@ 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 檔案可以存取 servlet 在其 doGet() 方法中設定的對象,從而實現動態內容生成。

阻止直接 JSP 存取

出於安全原因, JSP 檔案應放置在 /WEB-INF 資料夾中,防止使用者直接存取。

注意

@WebServlet 註解需要 Servlet 3.0 或更高版本。如果您使用的是舊版本,則必須在 web.xml 檔案中手動註冊 servlet。

參考文獻

    [Servlets Wiki 頁面]( https://wiki.java.net/bin/view/Projects/Servlets)
  • [doGet 和doPost中Servlet](https://javarevisited.blogspot.com/2011/05/java-servlet-doget-and-dopost-method-example.html)
  • [如何避免 Java代碼JSP](https://stackoverflow.com/questions/5521006/ways-to-avoid-java-code-in-jsp-in-a-best-practice-manner)
  • [Servlet 回傳「 HTTP狀態404 請求的資源(/servlet)不可用"]

以上是如何在頁面載入時從 JSP 呼叫 Servlet 以顯示資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板