So rufen Sie ein Servlet aus JSP beim Laden der Seite auf
In bestimmten Szenarien müssen Sie möglicherweise ein Servlet aus einer JSP-Datei ohne aufrufen mithilfe eines HTML-Formulars. Zum Beispiel, um Datenbankabfrageergebnisse beim Laden der Seite in einer HTML-Tabelle anzuzeigen.
Lösung mit der doGet()-Methode
Die doGet()-Methode in einem Servlet ermöglicht dies Anforderungsvorverarbeitung und Weiterleitung an die JSP. So können Sie dies implementieren:
Implementieren Sie doGet() im Servlet:
@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); } }
Zugriff auf Servlet-Daten in 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>
Auf diese Weise kann die JSP-Datei auf die vom Servlet in seiner doGet()-Methode festgelegten Objekte zugreifen und so eine dynamische Inhaltsgenerierung ermöglichen.
Verhindern des direkten JSP-Zugriffs
Aus Sicherheitsgründen sollte die JSP-Datei innerhalb der platziert werden /WEB-INF-Ordner, der den direkten Zugriff durch Benutzer verhindert.
Hinweis
Die @WebServlet-Annotation erfordert Servlet 3.0 oder höher. Wenn Sie eine ältere Version verwenden, müssen Sie das Servlet manuell in der web.xml-Datei registrieren.
Referenzen
Das obige ist der detaillierte Inhalt vonWie rufe ich beim Laden einer Seite ein Servlet aus einer JSP auf, um Daten anzuzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!