Lorsqu'une servlet est appelée, une page est chargée à partir d'un fichier JSP
P粉289775043
2023-08-24 12:47:14
<p>Puis-je appeler une servlet depuis un fichier JSP sans utiliser de formulaire HTML ? </p>
<p>Par exemple, affichez les résultats d'une base de données dans un tableau HTML lors du chargement de la page. </p>
Vous devez utiliser la méthode forward/include de RequestDispatcher en fonction de vos besoins pour obtenir le même effet.
Dans JSP, vous devez utiliser les balises suivantes :
jsp:inclure:
Par exemple :
jsp:forward:
Par exemple :
Veuillez consulter l'exemple JSP avancé : Communication JSP-Servlet :
http://www.oracle.com/technology/sample_code/tech/java/jsps/ojsp/jspservlet.html
Vous pouvez utiliser la méthode
doGet()
du servlet pour prétraiter la requête et transmettre la requête à JSP. Ensuite, pointez simplement sur l'URL du servlet au lieu de l'URL JSP dans la barre d'adresse du lien et du navigateur.Par exemple :
Veuillez noter que le fichier JSP est placé dans le dossier
/WEB-INF
pour empêcher les utilisateurs d'y accéder directement sans appeler la servlet.Notez également que
@WebServlet
ne fonctionne qu'avec Servlet 3.0 (Tomcat 7, etc.), voir @WebServlet avec Tomcat 7@WebServlet
仅适用于Servlet 3.0(Tomcat 7等),请参阅@WebServlet注释与Tomcat 7。如果您无法升级,或者由于某种原因需要使用与Servlet 3.0不兼容的web.xml
,则需要手动在web.xml
. Si vous ne pouvez pas effectuer la mise à niveau ou si, pour une raison quelconque, vous devez utiliserweb.xml
qui n'est pas compatible avec Servlet 3.0, vous devez enregistrer manuellement le servlet dansweb.xml
dans le de la manière suivante, utilisez plutôt des annotations :Une fois la servlet correctement enregistrée via annotations ou XML, vous pouvez maintenant l'ouvrir via http://localhost:8080/context/products où
/context
是Web应用程序部署的上下文路径,/products
是servlet的URL模式。如果您在其中有任何HTML<form>
,则只需将其POST到当前URL,如<form method="post">
,并在同一个servlet中添加一个doPost()
effectuera le travail de post-traitement. Veuillez continuer à lire les liens suivants pour des exemples plus spécifiques.Voir aussi