Appel d'une servlet dérrière un bouton [Résolu]

Signaler
Messages postés
80
Date d'inscription
samedi 22 septembre 2007
Statut
Membre
Dernière intervention
16 mars 2011
-
Messages postés
86
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
2 septembre 2016
-
Slt!
j'esaie d'appeler une servlet dérrière un bouton mais je n'y arrive pas. je voudrai qu'en cliquant sur un bouton on puisse exécuter une servlet. merci de me donner un coup de main.

9 réponses

Messages postés
35
Date d'inscription
lundi 23 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2008

page jsp :

<html........

<form action="http://localhost:8080/nomAppli/NomServlet" method="post">
......

</form>
</html>

et normalemetn ta un bouton "envoi vers ervlet" qui te fai un renvoi a ta servlet

Nivraë - just her
Messages postés
80
Date d'inscription
samedi 22 septembre 2007
Statut
Membre
Dernière intervention
16 mars 2011

Merci!
j'avais juste oublié cette discussion car quelques temps après l'envoie de la discussion j'avais trouvé la réponse. merci
Messages postés
86
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
2 septembre 2016

salut je suis un debutant en java.
J'ai fais un formulaire avec un bouton submit,je veux que l'orsqu'une personne appuie sur ce bouton un message soit afficher. Je ne recois aucun message a l'ecran.voici mes codes:
fichier index.jsp

<form name="momo" action=action="camarche" method= "get">
connexion

</form>

Servlet qui se nomme Test
public class Test extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{RequestDispatcher dispatch = request.getRequestDispatcher("ok.jsp");
dispatch.forward(request, response);

fichier web.xml

<web-app>

<servlet>
<servlet-class>test.Test</servlet-class>
<servlet-name>firstServlet</servlet-name>
</servlet>

<servlet-mapping>
<servlet-name>firstServlet</servlet-name>
/camarche
</servlet-mapping>

</web-app>

j'ai creer ok.jsp
Messages postés
80
Date d'inscription
samedi 22 septembre 2007
Statut
Membre
Dernière intervention
16 mars 2011

Bonjour,
moi j'ai un petit problème avec la manière dont tu procède je remarque que dans ton fichier index.jsp tu as mis au niveau du form action=action="camarche"

esaie déjà ça

<form name="momo" action="camarche" method="get">
connexion

</form>

je peu me tromper mais je ne pense pas que tu as bien décrite ta servlet
au niveau du request.getRequestDispatcher("ok.jsp");

quel est le contenu de ok.jsp??
Messages postés
86
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
2 septembre 2016

salut lovelacelana

merci pour ton aide.J'ai testé action="camarche" mais ça ne marche pas.Le contenu de ok.jsp est:
<%out.println("ca marche");%>.
C'est ce message qui devra s'afficher lorsqu'on appui sur le bouton.
Messages postés
80
Date d'inscription
samedi 22 septembre 2007
Statut
Membre
Dernière intervention
16 mars 2011

Salut,
voilà ce que je te propose

fichier index.jsp

<form name="momo" action="camarche" method="get">
connexion

</form>
[u]
Servlet qui se nomme Test /u

package test;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Test extends HttpServlet {

/**
*
*/
private static final long serialVersionUID = 1L;

//Procédure INIT
public void init() {
}

//Procédure DOGET
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,
ServletException {

getServletContext().getRequestDispatcher("ok.jsp").forward(request,response);
}

//Procédure DOPOST
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException,
ServletException {
doGet(request, response);
}
}


[u]fichier web.xml
/u
<web-app>

<servlet>
<servlet-class>test.Test</servlet-class>
<servlet-name>Test</servlet-name>
</servlet>

<servlet-mapping>
<servlet-name>Test</servlet-name>
/camarche
</servlet-mapping>

</web-app>


fichier ok.jsp
<%out.println("ca marche");%>

PS: j'espère que tu as vérifier bien que ton pachage s'appelle test??

NB: j'ai pas testé mais ça devrai marché, mais dans ce cas il t'affiche une page blanche avec le messege ça marche. si tu veux absolument un message il te faut utiliser du javascript.

Esaie et fait moi signe!
à plus
Messages postés
86
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
2 septembre 2016

salut lovelacena

j'ai essaye et ca passe , je te remercie.Je remarque que le url/pattern est essentiel dans notre fichier web.xml.J'ai une autre question ,j'ai deja essaye de me connecter a une base de donnee via une classe simple et ca marche , mais l'orsque je met le code dans ma servlet la connexion a la base de donnee ne passe paset le code de erreur.jsp est affiche(erreur):

[u]servlet Test
/u
package test;


import java.io.IOException;
import java.sql.*;


import javax.servlet.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Test extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{





try
{
Class.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql://localhost/eleve";
String utilisateur = "root";
String motdepasse = "";
Connection con = DriverManager.getConnection(url,utilisateur,motdepasse);

RequestDispatcher dispatch = request.getRequestDispatcher("ok.jsp");
dispatch.forward(request, response);
}

catch (Exception e1)
{
RequestDispatcher dispatch = request.getRequestDispatcher("erreur.jsp");
dispatch.forward(request, response);
}
}}

Merci pour ton aide
Messages postés
80
Date d'inscription
samedi 22 septembre 2007
Statut
Membre
Dernière intervention
16 mars 2011

Essaie de récupérer l'erreur qu'il renvoi ça aiderai à recoudre le problème plus vite. et à la place de

RequestDispatcher dispatch = request.getRequestDispatcher("ok.jsp");
dispatch.forward(request, response);

essaie un peu

getServletContext().getRequestDispatcher("/ok.jsp").forward(request,response);

de même aussi pour

RequestDispatcher dispatch = request.getRequestDispatcher("erreur.jsp");
dispatch.forward(request, response);

par

getServletContext().getRequestDispatcher("/erreur.jsp").forward(request,response);
Messages postés
86
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
2 septembre 2016

merci lovelacena , j'ai trouvé la réponse: ce n'était pas au niveau de getdispatcher() mais je n'avais pas mis mon fichier jar dans le dossier lib qui se situe dans le dossier web-inf de mon projet.Est ce ke quelqu'un pourrais m'éclaircir sur la methode setattribute()?.J'ai un peu de mal a comprendre. Merci Beaucoup.