IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Probleme de forward


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 46
    Points
    46
    Par défaut Probleme de forward
    Bonjour,

    j'ai le meme probleme que dans ce post : http://www.developpez.net/forums/sho...hlight=forward

    mais je ne comprends pas la solution donnée...

    Merci de votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Qu'elle partie tu ne comprends pas dans la solution donnée ?

    1) La servlet
    2) La jsp
    3) La configuration du web.xml

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 46
    Points
    46
    Par défaut
    La réponse donnée dans l'avant dernier message avec la configuration du web.xml
    Les balises <servlet-mapping> je les ai dans mon web xml mais moi ca me redirige toujours sur une page blanche avec comme url celle du servlet...


    En gros la structure de mon servlet c'est :

    if(ajouter) //on ajoute a la bdd
    else if(modifier) //on modif
    else //supprimer
    redirection vers mon index.jsp

    La redirection est commune au 3 cas et elle marche dans la modif et la suppression mais pas lors de l'ajout ! la seule différence et la méthode ! post pour l'ajout et get pour les 2 autres.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    as-tu fait celà ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public void doPost(ServletRequest request, ServletResponse response)
        throws IOException, ServletException
    {
      // on traite de la même manière les GET et les POST
      doGet(request, response);
    }
     
    public void doGet(ServletRequest request, ServletResponse response)
        throws IOException, ServletException
    {
       jeTraiteMesActions(request, response);
       jeFaisMonForwardVersMaJSP(request, response);
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 46
    Points
    46
    Par défaut
    Voila le code de ma servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    import beans.MysqlConnec;
    import java.io.*;
    import java.net.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import javax.servlet.*;
    import javax.servlet.http.*;
     
    public class stock extends HttpServlet {
     
        MysqlConnec connec = new MysqlConnec();
     
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException {
     
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
     
            String action = request.getParameter("action");
     
            if(action.equalsIgnoreCase("ajouter")) {
     
                String nom = request.getParameter("nom");
                int prix = Integer.parseInt(request.getParameter("prix"));
                int qte = Integer.parseInt(request.getParameter("qte"));
     
                Connection con = connec.getConnec();
                int rs = connec.executeQueryOther("INSERT INTO article (id, nom, prix, qte, date) VALUES('', '"+nom+"', "+prix+", "+qte+", now())");
                connec.stopConnec();
     
            }
            else if(action.equalsIgnoreCase("modifier")) {
     
                String nom = request.getParameter("nom");
                int id = Integer.parseInt(request.getParameter("id"));
                int prix = Integer.parseInt(request.getParameter("prix"));
                int qte = Integer.parseInt(request.getParameter("qte"));
     
                Connection con = connec.getConnec();
                int rs = connec.executeQueryOther("UPDATE article SET nom='"+nom+"', prix='"+prix+"', qte='"+qte+"' WHERE id="+id);
                connec.stopConnec();
     
            }
            else if(action.equalsIgnoreCase("supprimer")){
     
                int id = Integer.parseInt(request.getParameter("id"));
     
                Connection con = connec.getConnec();
                int rs = connec.executeQueryOther("DELETE FROM article WHERE id="+id);
                connec.stopConnec();
     
            }
     
            getServletContext().getRequestDispatcher("/index.jsp").forward(request,response);
     
        }
     
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
                processRequest(request, response);
        }
     
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
                processRequest(request, response);
        }
     
    }

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 46
    Points
    46
    Par défaut
    Ha ben je viens de tester ta solution et ca marche ! j'ai redirigé le doPost sur le doGet ! Mais bon je ne comprend pas trop pourquoi ca marche comme ca et pas directement....

    si t'as une réponse

    En tout cas merci

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Tout dépend de ta méthode HTTP.

    Si tu soumets une requête HTTP de type "POST, le conteneur de servlet (Tomcat) va invoquer la méthode doPost().

    Si tu soumets une requête HTTP de type "GET", le conteneur de servlet va invoquer la méthode doGet().

    Généralement on traite les GET et les POST de la même manière mais tu pourrais par exemple interdire les requêtes de type GET pour ne pas que les utilisateurs tentent de soumettre des formulaires en forçant l'URL du navigateur (en réalité ils pourraient toujours simuler un POST HTTP mais là il faut être un minimum connaisseur).

    Il existe d'autres méthodes (PUT, REMOVE, ...), elles sont pratiquement jamais utilisées et sont par défaut interdite par les serveurs Web tels que Apache car trop dangereuses. (cf : http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme de forward
    Par JuJu° dans le forum Delphi
    Réponses: 5
    Dernier message: 11/01/2007, 13h37
  2. Probleme de forward declaration
    Par porco dans le forum C++
    Réponses: 2
    Dernier message: 15/10/2006, 18h15
  3. [getRequestDispatcher] : Probleme de forward
    Par tiamat dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 28/08/2006, 17h40
  4. [Framework] [PHP.MVC] Probleme de forward sur .tpl
    Par the_edge dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/03/2006, 16h23
  5. [struts]probleme de forward
    Par VincentP dans le forum Struts 1
    Réponses: 4
    Dernier message: 15/09/2005, 15h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo