Apabila servlet dipanggil, halaman dimuatkan daripada fail JSP
P粉289775043
P粉289775043 2023-08-24 12:47:14
0
2
551

Bolehkah saya memanggil servlet daripada fail JSP tanpa menggunakan borang HTML?

Sebagai contoh, paparkan hasil daripada pangkalan data dalam jadual HTML semasa pemuatan halaman.

P粉289775043
P粉289775043

membalas semua (2)
P粉132730839

Anda perlu menggunakan kaedah forward/include RequestDispatcher mengikut keperluan anda untuk mencapai kesan yang sama.

Dalam JSP anda perlu menggunakan tag berikut:

jsp:include

Contohnya:

jsp:ke hadapan:

Contohnya:

Sila lihat Contoh JSP Lanjutan: Komunikasi JSP-Servlet:

http://www.oracle.com/technology/sample_code/tech/java/jsps/ojsp/jspservlet.html

    P粉422227023

    Anda boleh menggunakan kaedah servlet'sdoGet()untuk mempraproses permintaan dan memajukan permintaan kepada JSP. Kemudian hanya tuding ke URL servlet dan bukannya URL JSP dalam pautan dan bar alamat penyemak imbas.

    Contohnya:

    @WebServlet("/products") public class ProductsServlet extends HttpServlet { @EJB private ProductService productService; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List products = productService.list(); request.setAttribute("products", products); request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response); } }
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ...  
    ${product.name} ${product.description} ${product.price}

    Sila ambil perhatian bahawa fail JSP diletakkan dalam folder/WEB-INFuntuk menghalang pengguna daripada mengaksesnya secara langsung tanpa memanggil servlet.

    Juga ambil perhatian bahawa@WebServlethanya berfungsi dengan Servlet 3.0 (Tomcat 7, dsb.), lihat@WebServlet anotasi dengan Tomcat 7@WebServlet仅适用于Servlet 3.0(Tomcat 7等),请参阅@WebServlet注释与Tomcat 7。如果您无法升级,或者由于某种原因需要使用与Servlet 3.0不兼容的web.xml,则需要手动在web.xml. Jika anda tidak boleh menaik taraf, atau atas sebab tertentu perlu menggunakanweb.xmlyang tidak serasi dengan Servlet 3.0, anda perlu mendaftarkan servlet secara manual dalamweb.xmldalam cara berikut, Sebaliknya gunakan anotasi:

     productsServlet com.example.ProductsServlet   productsServlet /products 

    Setelah servlet didaftarkan dengan betul melalui anotasi atau XML, anda kini boleh membukanya melalui http://localhost:8080/context/products di mana/context是Web应用程序部署的上下文路径,/products是servlet的URL模式。如果您在其中有任何HTML

    ,则只需将其POST到当前URL,如,并在同一个servlet中添加一个doPost()akan melaksanakan kerja pasca pemprosesan. Sila teruskan membaca pautan berikut untuk contoh yang lebih khusus tentang ini.

    Lihat juga

      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!