Maison > Java > javaDidacticiel > Comment appeler un servlet depuis une JSP lors du chargement d'une page pour afficher des données ?

Comment appeler un servlet depuis une JSP lors du chargement d'une page pour afficher des données ?

Mary-Kate Olsen
Libérer: 2024-12-08 07:08:20
original
708 Les gens l'ont consulté

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

Comment appeler un servlet depuis JSP lors du chargement de la page

Dans certains scénarios, vous devrez peut-être appeler un servlet à partir d'un fichier JSP sans à l'aide d'un formulaire HTML. Par exemple, pour afficher les résultats d'une requête de base de données dans un tableau HTML lors du chargement de la page.

Solution utilisant la méthode doGet()

La méthode doGet() dans un servlet permet demander un prétraitement et une redirection vers la JSP. Voici comment vous pouvez implémenter cela :

  1. Implémentez doGet() dans le 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);
        }
    }
    Copier après la connexion
  2. Accéder aux données du servlet dans 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>
    Copier après la connexion

En faisant cela, le fichier JSP peut accéder aux objets définis par le servlet dans sa méthode doGet(), permettant la génération de contenu dynamique.

Empêcher l'accès direct au JSP

Pour des raisons de sécurité, le fichier JSP doit être placé dans le /WEB-INF, empêchant l'accès direct des utilisateurs.

Remarque

L'annotation @WebServlet nécessite Servlet 3.0 ou supérieur. Si vous utilisez une ancienne version, vous devez enregistrer le servlet manuellement dans le fichier web.xml.

Références

  • [Page Wiki des servlets]( https://wiki.java.net/bin/view/Projects/Servlets)
  • [doGet et doPost dans Servlets](https://javarevisited.blogspot.com/2011/05/java-servlet-doget-and-dopost-method-example.html)
  • [Comment éviter le code Java dans JSP](https://stackoverflow.com/questions/5521006/ways-to-avoid-java-code-in-jsp-in-a-best-practice-manner)
  • [La servlet renvoie "HTTP Statut 404 La ressource demandée (/servlet) n'est pas disponible"]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal