首頁 > Java > java教程 > 我可以在沒有 HTML 表單的情況下在頁面載入時從 JSP 呼叫 Servlet 嗎?

我可以在沒有 HTML 表單的情況下在頁面載入時從 JSP 呼叫 Servlet 嗎?

Susan Sarandon
發布: 2024-12-14 06:43:13
原創
510 人瀏覽過

Can I Call a Servlet from a JSP on Page Load Without an HTML Form?

在頁面載入時從JSP 檔案呼叫Servlet,無需HTML 表單

問題:

是否可以呼叫從JSP文件中建立servlet 而不使用HTML 表單?例如,在頁面載入時在 HTML 表中顯示資料庫資料。

答案:

是的,可以從 JSP 檔案呼叫 servlet,而無需使用 servlet 的 doGet() 方法的 HTML 表單。此方法允許您預處理請求並將其轉發到 JSP。然後,您可以在連結和瀏覽器網址列中指定 servlet 的 URL,而不是 JSP。

實作:

考慮以下servlet:

@WebServlet("/products")
public class ProductsServlet extends HttpServlet {

    @EJB
    private ProductService productService;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        List<Product> products = productService.list();
        request.setAttribute("products", products);
        request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response);
    }

}
登入後複製

還有一個例子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>
登入後複製

請注意🎜>請注意🎜>請注意🎜>請注意🎜>請注意🎜>請注意🎜>請注意🎜>請注意🎜>請注意🎜>請注意🎜>請注意🎜>請注意,JSP 檔案放置在/WEB-INF 資料夾中,以防止使用者在不呼叫servlet的情況下直接訪問。

附加說明:

  • @WebServlet 在 Servlet 3.0 及更高版本中可用。如果使用早期版本,則需要在 web.xml 中手動註冊 servlet。
  • 可以直接存取 servlet 的 URL 模式(例如,http://localhost:8080/context/products)。
  • 如果 servlet 中存在 HTML 表單,它可以使用 method="post" 發佈到相同的 URL。在 Servlet 中加入 doPost() 方法,用於後處理。

相關連結:

  • [Servlets Wiki](https:// wiki.java.net/bin/view/Javalin/servlets)
  • [doGet 和doPost中Servlet](https://docs.oracle.com/javase/7/docs/api/javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) )
  • [避免使用Java程式碼JSP](https://www.ibm.com/developerworks/java/tutorials/j-jsp/j-jsp-avoidjava/)
  • [Servlet 回傳 HTTP狀態404](https://stackoverflow.com/questions/647016/java-servlet-returns-http-status-404-the-requested-resource-is-not-available-serv)

以上是我可以在沒有 HTML 表單的情況下在頁面載入時從 JSP 呼叫 Servlet 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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