Heim > Java > javaLernprogramm > Wie rufe ich beim Laden einer Seite ein Servlet aus einer JSP auf, um Daten anzuzeigen?

Wie rufe ich beim Laden einer Seite ein Servlet aus einer JSP auf, um Daten anzuzeigen?

Mary-Kate Olsen
Freigeben: 2024-12-08 07:08:20
Original
708 Leute haben es durchsucht

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

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:

  1. 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);
        }
    }
    Nach dem Login kopieren
  2. 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>
    Nach dem Login kopieren

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

  • [Servlets-Wiki-Seite]( https://wiki.java.net/bin/view/Projects/Servlets)
  • [doGet und doPost in Servlets](https://javarevisited.blogspot.com/2011/05/java-servlet-doget-and-dopost-method-example.html)
  • [So vermeiden Sie Java-Code in JSP](https://stackoverflow.com/questions/5521006/ways-to-avoid-java-code-in-jsp-in-a-best-practice-manner)
  • [Servlet gibt „HTTP Status 404 Die angeforderte Ressource (/servlet) ist nicht verfügbar“]

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage