J'ai ci-dessous servlet. Je voudrais appeler le servlet sur servlet: Comment puis-je écrire correspondant JSP pour appeler le servlet sur la page de la page JSP . De plus, j'ai besoin d'obtenir le résultat du servlet et de l'affichage dans le même JSP. Puis-je envoyer le résultat à merci! P> p> jsp code> page de page. Comment puis-je faire ça?
somresservlet.java code> p>
jsp code>? P>
4 Réponses :
Appeler un servlet à la place d'obtenir un attribut de demande et transmettez la demande à JSP P>
ou faire un appel AJAX au servlet sur chargement et rendre la réponse à l'aide de JavaScript P>
Cela ne sera pas redirigé vers le servlet.
@Bhavik . De plus, j'ai besoin d'obtenir le résultat du servlet et de l'affichage dans le même JSP. Puis-je envoyer le résultat vers JSP? i>
Decouce vous pouvez envoyer le résultat retour à JSP avec Ajax
<jsp:include page="/HelloWorld"/>
Merci nizet. Comment puis-je appeler le JSP du servlet pour afficher le résultat récupéré au servlet? Merci.
C'est une question différente. Votre question était la suivante: "Comment invoquer le servlet de JSP?" Maintenant, vous demandez "Comment invoquer JSP du servlet?". Que voulez-vous exactement? Quelle est l'URL invoquée par le navigateur client et comment la demande devrait-elle être traitée?
dans la page JSP, vous pouvez transférer la demande au servlet
response.sendRedirect(request.getContextPath()+"/SomeServlet");
Vous devriez le faire l'inverse. Appelez le servlet par son URL et laissez-le présenter le JSP. C'est aussi l'approche MVC normale (servlet est le contrôleur et le JSP est la vue).
Mettez d'abord le fichier JSP dans ouvrir par p> http: // localhost: 8080 / contextName / HelloServlet P>
blockQuote> Notez que vous pouvez bien sûr modifier le motif d'URL dans le mappage de servlet à quelque chose comme http: // localhost: 8080 / contextName / Bonjour P>
blockQuote> / web-inf code> de sorte que l'utilisateur ne puisse jamais "accidentellement" l'ouvrir En entrant directement son URL dans la barre d'adresse du navigateur sans invoquer le servlet. Puis changez le servlet's
doket () code> en conséquence, il transmet la demande au JSP. P>
/ hello code> afin que vous puissiez utiliser une URL plus représentative: P>
Voir aussi: h3>
Et si j'ai un servlet dans ce package: com.work.something.Controller code>, quelle est l'URL que je devrais appeler pour l'appeler directement ??
@ KRAMNIK0: L'URL ne dépend pas du package / FQN de l'enregistrement de servlet, mais sur le modèle d'URL de la cartographie de servlet.
Je sais maintenant que j'ai besoin de la mappe d'abord dans le fichier web.xml. Merci pour votre réponse.
Qu'est-ce que tu veux dire exactement avec "sur la charge de la page"? Voulez-vous rediriger vers le servlet, inclure le contenu de votre page ou simplement le déclencher?