7
votes

Comment appeler un servlet sur la page de page JSP?

J'ai ci-dessous servlet. Je voudrais appeler le servlet sur jsp page de page. Comment puis-je faire ça?

servlet: somresservlet.java xxx

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 à jsp ?

merci!


1 commentaires

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?


4 Réponses :


0
votes

Appeler un servlet à la place d'obtenir un attribut de demande et transmettez la demande à JSP

ou faire un appel AJAX au servlet sur chargement et rendre la réponse à l'aide de JavaScript


3 commentaires

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?


Decouce vous pouvez envoyer le résultat retour à JSP avec Ajax



2
votes
<jsp:include page="/HelloWorld"/>

2 commentaires

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?



0
votes

dans la page JSP, vous pouvez transférer la demande au servlet

response.sendRedirect(request.getContextPath()+"/SomeServlet");


0 commentaires

9
votes

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 / web-inf 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 () en conséquence, il transmet la demande au JSP. xxx

ouvrir par

http: // localhost: 8080 / contextName / HelloServlet

Notez que vous pouvez bien sûr modifier le motif d'URL dans le mappage de servlet à quelque chose comme / hello afin que vous puissiez utiliser une URL plus représentative:

http: // localhost: 8080 / contextName / Bonjour

Voir aussi:


3 commentaires

Et si j'ai un servlet dans ce package: com.work.something.Controller , 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.