Puis-je appeler un servlet de fichier JSP sans utiliser de formulaire HTML? P>
Par exemple, pour afficher les résultats de la base de données dans une table HTML lors de la charge de la page. P>
4 Réponses :
Vous pouvez utiliser le par exemple par exemple p> Notez que le fichier JSP est placé dans le dossier Notez également que doget () code>
méthode du servlet à Préprocess forte> Demande et transmettre la requête à le JSP. Ensuite, pointez simplement l'URL de servlet au lieu de JSP URL dans les liens et la barre d'adresse de navigateur. / web-inf code> pour empêcher les utilisateurs d'y accéder directement sans appeler le servlet. p>
@weweblet code> est uniquement disponible depuis le servlet 3.0 (Tomcat 7, etc.), voir aussi @wewsservlet Annotation avec Tomcat 7 . Si vous ne pouvez pas mettre à niveau, ou lorsque vous avez besoin d'une raison quelconque, vous devez utiliser un
web.xml code> qui n'est pas compatible avec le servlet 3.0, vous devez enregistrer manuellement le servlet à l'ancienne.
web.xml code> comme ci-dessous au lieu d'utiliser l'annotation: p>
<servlet>
<servlet-name>productsServlet</servlet-name>
<servlet-class>com.example.ProductsServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>productsServlet</servlet-name>
<url-pattern>/products</url-pattern>
</servlet-mapping>
La question est destinée à appeler servlet de JSP. Vous avez répondu à l'appelant JSP du servlet.
... qui est la pratique normale pour l'exigence fonctionnelle que l'OP avait en tête.
Comment pouvez-vous être si certain de ce que l'OP pensait?
"sans utiliser de formulaire HTML" i>, il veut donc prétraiter la demande au lieu de post-traitement.
Vous devrez utiliser les méthodes de RequestDispatcher en avant / Inclure en fonction de votre besoin d'obtenir la même chose.
Dans JSP, vous devez utiliser des balises suivantes: p>
JSP: Inclure : P>
L'élément vous permet inclure une statique ou une dynamique Fichier dans un fichier JSP. Les résultats de y compris les fichiers statiques et dynamiques sont assez différent. Si le fichier est statique, son contenu est inclus dans le appeler le fichier jsp. Si le fichier est dynamique, il agit sur une demande et envoie un résultat inclus dans la page JSP. Quand l'inclure L'action est terminée, le conteneur JSP continue de traiter le reste de le fichier JSP. p> blockQuote>
par exemple p>
xxx pré> JSP: avant : p>
L'élément en avant le demande objet contenant le client Demander des informations à partir d'un fichier JSP à un autre fichier. Le fichier cible peut Soyez un fichier HTML, un autre fichier JSP, ou un servlet, aussi longtemps que dans le même contexte d'application que le Transférer le fichier JSP. Les lignes dans le fichier jsp source après le Élément ne sont pas traitée. p> blockQuote>
EG P>
<jsp:forward page="/servlet/ServletCallingJsp" />
Bien sûr, vous pouvez l'inclure simplement dans votre action code> dans le formulaire
code>. Mais vous devez écrire le bon
dopost code> ou
doget code> pour gérer la demande! P>
Si vous souhaitez appeler une méthode de servlet particulière que vous utilisez également une langue d'expression. Par exemple, vous pouvez faire quelque chose comme:
servlet fort> p> jsp strong> p> <body bgcolor="#D2E9FF">
Current date : ${forex.rate}
</body>
Remarque, votre réponse est un peu trompeuse, il implique que Forextest code> doit être un servlet, mais il n'a pas nécessairement besoin d'être un servlet du tout. L'approche normale est que c'est un javabean et que ces
obtiennent des méthodes code> doivent seulement b> être appelés aux propriétés d'accès, non pour exécuter la logique commerciale.