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 :

Servlet: doGet() exécuté au lieu de processRequest() ?


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Par défaut Servlet: doGet() exécuté au lieu de processRequest() ?
    Bonjour à tous.

    J'ai un problème au niveau d'une servlet et j'ai du mal à comprendre les méthodes doGet() et doPost(). Par ailleurs, je n'ai pas trouvé de réponse à mon problème sur le Web, alors je m'en remets à vous.

    J'ai donc une Servlet, qui exécute bien la méthode processRequest() ou la méthode doPost() dans le cas où l'on utilise le formulaire de la page. J'ai ensuite voulu tester la méthode doGet() (pour récupérer des paramètres situés dans des liens sur la page), mais depuis elle est exécuté directement au lieu de processRequest().

    Voici la Servlet en question:
    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
     
     
    @WebServlet(urlPatterns = {"/Directorio"})
    public class Directorio extends HttpServlet {
     
        private Statement statement = null;
        private Connection conexion = null;
        private ResultSet resultado = null;
        private PrintWriter out;
     
     
        private String DBUser = "root";
        private String DBPass = "";
        private String DBC = "com.mysql.jdbc.Driver";
        private String ConnDB = "jdbc:mysql://127.0.0.1:3306/diputaciondb";
        //private String ConnDB = "jdbc:mysql://172.16.61.172:3306/DB1";
        private String query = "";
     
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException, SQLException, ClassNotFoundException {
                response.setContentType("text/html;charset=UTF-8");
                out = response.getWriter();
            try {
                query = "select * from USUARIOS;";
                tablaDirectorio(query);
             } finally {            
                out.close();
            }
        }
     
     
     
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
     
     
     
                out = response.getWriter();
                out.println("WORKING?");
     
     
        }
     
    @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
                String param = request.getParameter("directorio-buscar");
                out = response.getWriter();
                if (param.length()!=0) {
                        query = "select * from USUARIOS where NOMBRE LIKE '%"+param+"%' or  APELLIDOS LIKE '%"+param+"%' or  TELEFONO LIKE '%"+param+"%';";
                    try {
                        tablaDirectorio(query);
                        //out.println("3"+param+"--"+query);
                    } catch (ClassNotFoundException ex) {
                        Logger.getLogger(Directorio.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (SQLException ex) {
                        Logger.getLogger(Directorio.class.getName()).log(Level.SEVERE, null, ex);
                    }
     
                }
    }
     
    protected void tablaDirectorio(String query) throws ClassNotFoundException, SQLException {
            out.println("<div id='directorio-opciones'>");
            out.println("<form action='/Diputacion/busquedaDirectorio.jsp' method='post'>");
            out.println("<input type='text' maxlength='20' size='45' name='directorio-buscar'>");
            out.println("<input type='button' name='directorio-buscarBoton' value='Buscar en el directorio'>");
            out.println("</form><br></div>");
            out.println("<center><table class='directorio-table' cellspacing='0'>");
            out.println("<tr><th scope='col'>Nombre</th><th scope='col'>Apellido</th><th scope='col'>Teléfono</th><th width=24></th><th width=24></th></tr>");
     
            Class.forName(DBC);
            conexion = DriverManager.getConnection(ConnDB, DBUser, DBPass);
    	statement = (Statement) conexion.createStatement();
            resultado = statement.executeQuery(query);
            while (resultado.next()) {
                out.println("<tr><td>"+resultado.getString("NOMBRE")+"</td><td>"+resultado.getString("APELLIDOS")+"</td><td>"+resultado.getString("TELEFONO")+"</td>");
                out.println("<td><a href='busquedaDirectorio.jsp?edit="+resultado.getString("DNI")+"'><img src='img/Modify.png' alt='Modificar usuario' width=14 height=14></a></td><td><a href='busquedaDirectorio.jsp?delete="+resultado.getString("DNI")+"'><img src='img/Erase.png' alt='Eliminar usuario' width=14 height=14></a></td></tr>");
            }
            resultado.close();
            statement.close();
     
            out.println("</table></center>");
        }
     
        protected void eliminarUsuario(String DNI) throws SQLException, ClassNotFoundException{
          Class.forName(DBC);
          Connection conn = DriverManager.getConnection(ConnDB, DBUser, DBPass);
     
          query = "delete from USUARIOS where DNI = ?";
          PreparedStatement preparedStmt = conn.prepareStatement(query);
          preparedStmt.setInt(1, 3);
     
          preparedStmt.execute();
     
          conn.close();
        }
     
        @Override
        public String getServletInfo() {
            return "Short description";
        }// </editor-fold>
    }
    Quelqu'un a une idée ou une indication ? Merci d'avance pour votre aide.

  2. #2
    Candidat au Club
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Par défaut
    Question un peu hâtive, probablement due à une confusion avec les $_POST[] et $_GET[] du PHP (?), j'ai simplement récupéré mes paramètres dans le processRequest().

    Désolé de polluer le forum avec mes premiers posts !

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

Discussions similaires

  1. Contenu servlet non exécuté
    Par NicoTheDude dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 06/07/2011, 09h52
  2. [Link dynamic]fichier excutable au lieu d'une DLL
    Par jldgbu dans le forum Windows
    Réponses: 4
    Dernier message: 07/06/2010, 23h51
  3. servlet s'exécute deux fois
    Par Bubu017 dans le forum Struts 1
    Réponses: 4
    Dernier message: 21/07/2008, 09h07
  4. [Servlet][lien] appel en double de doGet()
    Par fabszn dans le forum Servlets/JSP
    Réponses: 29
    Dernier message: 29/03/2007, 15h07
  5. [Tomcat][Eclipse] erreur http 404 à l'exécution de servlet
    Par mayjo dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 30/07/2004, 18h19

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