Bonjour,
Puisque je ne vois ceci nulle part ou peut etre ai je mal lu, est ce que cela est possible tout simplement? juste dans l'idée d'intégrer une servlet programmée directement ..
:merci:
Version imprimable
Bonjour,
Puisque je ne vois ceci nulle part ou peut etre ai je mal lu, est ce que cela est possible tout simplement? juste dans l'idée d'intégrer une servlet programmée directement ..
:merci:
Je comprend pas ce que tu veux faire, tu désires faire un appel à une servlet depuis JSP ?
ouiCitation:
Envoyé par *alexandre*
<form action="/taservlet">
la servlet est un .java est que je le mette ou non, rien ne s'effectue, meme pas d'erreur...Citation:
Envoyé par *alexandre*
La servlet est un .java quand tu l ecrisCitation:
Envoyé par Nemesys
Mais une fois compilee c est un point class.
Et comme c est une servlet, elle doit etre mappee dans ton fichier web.xml.
donc je dois avoir ceci :
<form action="/build/web/WEB-INF/classes/testcmd.class">
puisque mon .class se trouve la dedans (dans le rep de tomcat que jai créé dans webapps) non ?
Nan tu dois définir l url mapping de ta servlet, pour que tomcat sache que faire
lorsque l url http://un-site:8080/taservlet
c'est pour ca que tu dois définir quelle classe sera executé dans ton web.xml
je te conseille de jeter un coup d oeil sur les tutos
pas de soucis pour ca puisque netbeans s'en charge, et a ma part ma servlet fonctionne trés bien. j'aimerais maintenant pouvoir l'appeler depuis une paje jsp créée dans le meme projet..
alors il faut que tu regardes la valeur de l url définit dans web.xml <servlet-mapping>
pour ensuite faire l appel correct depuis ta jsp
il y a ceci :
testcmd étant le nom de la servletCode:
1
2
3
4 <servlet-mapping> <servlet-name>testcmd</servlet-name> <url-pattern>/testcmd</url-pattern> </servlet-mapping>
alors il faut que dans le form de ta jsp tu définisses
Code:
1
2
3
4
5
6
7
8 <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <form method="POST" action="<%=basePath%>"/testcmd" />
ca me donne toujour rien :?
message d erreur ? regarde voir le html générer
ca me donne ca :
Code:<form method="POST" action="http://localhost:8084/WebApplication4/"/testcmd />
modifie
<form method="POST" action="<%=basePath%>/testcmd" />
cela ne maffiche toujours rien et jai maintenat ceci :Citation:
Envoyé par *alexandre*
Code:
1
2<form method="POST" action="http://localhost:8084/WebApplication4//testcmd" />
supprime le / entre la fin de <%=basePath%>
et si dans ta servlet tu fais un doGet alors remplace la method="POST" en "GET"
et j espere que tu as submit ...
Citation:
Envoyé par *alexandre*
n'affiche toujours rien sans erreur et j'ai ceci dans la source :
Code:
1
2
3
4 <div align="center"> <form method="GET" action="http://localhost:8084/WebApplication4/testcmd" /> </div>
et le code complet de la page ? et rassure moi tu cliques bien sur un submit pour executé ta servlet ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 <HTML> <HEAD> <TITLE>essai</TITLE> </HEAD> <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0> <div align="center"> <TABLE BGCOLOR=#33CCCC WIDTH=683 BORDER=3 CELLPADDING=2 CELLSPACING=0> <TR > <TD> <p><a href="test.jsp?choix=1"><center>Menu 1</center></a></p> </TD> <TD> <p><a href="test.jsp?choix=2"><center>Menu 2</center></a></p> </TD> <TD> <p><a href="test.jsp?choix=3"><center>Menu 3</center></a></p> </TD> <TD> <p><a href="test.jsp?choix=4"><center>Menu 4</center></a></p> </TD> <TD> <p><a href="test.jsp?choix=5"><center>Menu 5</center></a></p> </TD> <TD> <p><a href="test.jsp?choix=6"><center>Menu 6</center></a></p> </TD> </TR> </TABLE> </div> </BODY> </HTML> <div align="center"> <TABLE BGCOLOR=#FFFFFF WIDTH=683 HEIGHT=500 BORDER=0 CELLPADDING=0 CELLSPACING=0> <p><b><FONT size=5>Vous avez fait le choix <FONT color="#FF0000">3</FONT></FONT></b></p> </TABLE> </div> <div align="center"> <form method="GET" action="http://localhost:8084/WebApplication4/testcmd" /> </div>
ta form doit etre dans un body et il faut la fermer avant la cloture du body
et je vois pas de <input type="submit" tu ne peux pas afficher le resultat d une servlet si tu ne dis pas dit au server de l'executer
ou alors il faut définir dans ton <body onload="executerDuJavascript()";
et dans ton executerJavascript
function executerDuJavascript () {
opener.location.href = ce que tu as mis dans le form action
}
et avec la methode submit ca ressemblerait a quoi? désolé c la premiere fois que je manipule ce mécanisme de servlet.. :?
et bien tu ajoutes un <input type="submit"> et tu fermes le </form>
mais je me pose des questions sur ce que tu voulais vraiment faire si c est inclure le resultat d une servlet dans une jsp ca ca ne marchera pas ...
si c est executé une servlet depuis JSP ca ca marchera ..
(ps avec le javascript ca n aurait pas marché vu que tu serais redirigé vers l url)
c'est executer une servlet depuis une jsp... je teste ca demain merci bcp je te tien au courant:)
cela fonctionne :) mais j'ai un bouton "soumettre la requete" pour accèder a mon prog servlet... j'aimerais qu'il s'affiche directement sur la page..Citation:
Envoyé par *alexandre*
c'est ce que je tentais de t'expliquer, pour être executé une servlet à besoin d'être appeller
si tu veux pas aller sur ta jsp pour faire l'appel à ta servlet et bien pointes ton url sur la servlet
si tu veux executer ta servlet en passant au dessus de quelque chose tu peux faire une méthode javascript
mais pour que celle-ci s'execute il faut un evenementCode:
1
2
3
4
5
6
7
8
9
10
11 <head> <script language="javascript"> function openServlet() { location.href = "<%=basePath%>testcmd""; } </script> </head> onmouseover="openServlet();*
Peux-tu préciser une chose :
quand tu dis, je veux importer une servlet dans une page jsp, tu sous-entends le résultat (la sortie via PrintWriter) de la servlet ?
Parce que pour le moment, les réponses sont des explications pour soumettre un formulaire à la servlet...
A+
Je vais essayer d'etre plus clair parce qu'après de multiples recherches je trouve pas la réponse a mon probleme :
je crée un formulaire basique en html. lorsque je clique sur un bouton de type submit je veux faire appel a ma servlet (l'executer).
est ce que cela est possible? ou faire appel a des classes particulieres de celle ci?
Merci
Oui, c'est tout a fait possible.
La servlet en question ? Tu vas la creer ou c est une servlet existante ?
As- tu installe un serveur ? que veux tu faire avec cette servlet ?
existante...Citation:
Envoyé par willoi
oui un serveur tomcat.. et la j'essai avec netbeans qui intégre tout.. je voudrai simplement lancer cette servlet pour me retourner de l'info a partir d'un formulaire html
Bon et bien dans la configuration de ton application (qui integre ta ou tes servlets), tu dois avoir un fichier web.xml avec les mappings sur tes servlet.
Un truc qui ressemble a ca :
et donc quand tu fais appel a la servlet dans ton html, tu ferais un truc du style :Code:
1
2
3
4 <servlet> <servlet-name>maServlet</servlet-name> <servlet-class> net.monaplication.MaSuperServlet </servlet-class> </servlet>
Code:<a href="http://localhost:8080/monappli/maServlet">clique pour voir la servlet</a>
Merci je vais pouvoir me débrouiller comme ca..