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 implémenter cela :
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); } }
Accéder aux données du servlet dans JSP :
...
${product.name} | ${product.description} | ${product.price} |
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 dossier /WEB-INF, empêchant ainsi l'accès direct par 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
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3