Rumah >Java >javaTutorial >Bolehkah Servlet Memproses Pemuatan Halaman JSP Tanpa Penyerahan Borang?

Bolehkah Servlet Memproses Pemuatan Halaman JSP Tanpa Penyerahan Borang?

DDD
DDDasal
2024-12-07 22:28:16510semak imbas

Can a Servlet Preprocess a JSP Page Load Without a Form Submission?

Pemprosesan Servlet untuk Pemuatan Halaman JSP

Anda mungkin menghadapi senario di mana anda ingin memaparkan hasil daripada pangkalan data dalam jadual HTML secara langsung apabila halaman JSP dimuatkan. Ini menimbulkan persoalan sama ada boleh menggunakan servlet daripada fail JSP tanpa menggunakan borang HTML tradisional.

Praprocessing dengan Kaedah doGet() Servlet

Jawapannya adalah afirmatif. Dengan menggunakan kaedah doGet() servlet, anda boleh mempraproses permintaan dan seterusnya memajukannya kepada JSP. Ini melibatkan mengubah hala pautan dan bar alamat penyemak imbas ke URL servlet dan bukannya URL JSP.

Contoh Pelaksanaan

Pertimbangkan coretan kod berikut:

@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);
    }

}

Dalam fail JSP (/WEB-INF/products.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>

Pertimbangan

  • Letakkan fail JSP dalam folder /WEB-INF untuk mengelakkan terus akses oleh pengguna.
  • Servlet 3.0 (Tomcat 7, dsb.) diperlukan untuk Sokongan anotasi @WebServlet. Rujuk anotasi @WebServlet dengan Tomcat 7 untuk maklumat lanjut.
  • Untuk versi Servlet sebelum 3.0, pendaftaran servlet manual dalam web.xml diperlukan.

Sumber Tambahan

  • Servlet wiki halaman
  • doGet dan doPost dalam Servlets
  • Cara mengelakkan kod Java dalam JSP
  • Servlet mengembalikan "Status HTTP 404 Sumber yang diminta (/servlet) tidak tersedia"

Atas ialah kandungan terperinci Bolehkah Servlet Memproses Pemuatan Halaman JSP Tanpa Penyerahan Borang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn