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 :

Sauvegarder une variable dans une page JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Points : 50
    Points
    50
    Par défaut Sauvegarder une variable dans une page JSP
    bonjour,
    J'ai mis en place une page jsp qui récupère des valeurs provenant de l'URL
    voici mon code
    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
     
    <%request.setCharacterEncoding("UTF-8");%>
     
    <%  String receipient = request.getParameter("receipient");
            String id = request.getParameter("sender");
            String message = request.getParameter("message");    
            String provider="";
             
                    if (id.startsWith("1119") || id.startsWith("1114")|| id.startsWith("+1119")  || id.startsWith("+1114") || id.startsWith("9") || id.startsWith("4") || id.startsWith("001119") || id.startsWith("001114"))
                            provider = "A"; 
                    else if (id.startsWith("001112") || id.startsWith("+1112") || id.startsWith("1112") || id.startsWith("2"))
                            provider = "B";
                    else if (id.startsWith("001115") || id.startsWith("+1115") || id.startsWith("1115") || id.startsWith("5") || id.startsWith("001113") || id.startsWith("+1113") || id.startsWith("1113") || id.startsWith("3"))
                            provider = "C";  
                    else provider = "Other"; 
             
             
    %>
    	 the sender is <%= id %> 
    	 le provider est <%= provider %>
    	 the message is <%= message %>
    	 the receipient is <%= receipient %>
    j'appelle ma page traitement.jsp comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8085/TestAuteur/WebContent/traitement.jsp?sender=2011695&message=jsp%20works
    maintenant je veux sauvegarder les paramètre id et message dans une BD.
    pouvez vous m'aider sur ce cout?

  2. #2
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Points : 50
    Points
    50
    Par défaut
    bonjour,
    J'ai mis en place une page jsp qui récupère des valeurs provenant de l'URL et les sauvegarde dans une BD.
    donc j'ai fragmenter mon code et j'ai créé une classe pour la connexion à la base de donnée et la JSP exécute seulement la requête cependant l'enregistrement ne se fait pas dans la base de donnée.
    voici le code de la classe sachant que je l'ai testé et ça marche
    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
     
    package com.database;
     
    import java.sql.*;
     
    import org.apache.log4j.Logger;
     
     
     
    public class Connect {
    	public final static Connection getMyConnection() {
    		Connection conn = null;
    		try {
    			 Class.forName("org.postgresql.Driver");
    		      System.out.println("Driver O.K.");
     
    		      String url = "jdbc:postgresql://localhost:5432/nowsms";
    		      String user = "postgres";
    		      String passwd = "12345";
     
    		       conn = DriverManager.getConnection(url, user, passwd);
    		      System.out.println("Connexion effective !"); 
     
    		    /*  
    		      PreparedStatement  st= conn.prepareStatement("INSERT INTO received ( num_tel, message) VALUES (?,?)");
     
    		      st.executeUpdate();
    		      conn.close();
    		      st.close();*/
     
    			} 
     
    		catch(Exception e){
     
    	      e.printStackTrace();
    			}
    		return conn;}
     
    	/*public static void main(String [] args){
    		Connect c= new Connect();
    		try{
    		Connection conn=c.getMyConnection();
    		PreparedStatement  st= conn.prepareStatement("INSERT INTO received ( num_tel, message) VALUES (?,?)");
    		st.setString(1, "1212121");
    	      st.setString(2, "ffjjfjfjfjfjf");
    	      st.executeUpdate();
    	      conn.close();
    	      st.close();
    		}
    		catch(Exception e){
     
    	      e.printStackTrace();
    			}
     
     
    }*/
    	}

    voici ma page jsp qui appelle le methode getMyConnection de la classe Connect.java
    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
     
    <%@ page language="java" contentType="text/plain; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
     
    <%@ page import="com.database.Connect"%>
    <%@ page import="java.sql.Connection"%>
    <%@ page import="java.sql.DriverManager"%>
    <%@ page import="java.sql.PreparedStatement"%>
    <%@ page import="java.sql.SQLException"%>
    <%@ page import="java.sql.Statement"%>
    <%@ page import="java.sql.*"%>
     
    <%  String receipient = request.getParameter("receipient");
            String id = request.getParameter("sender");
            String message = request.getParameter("message"); 
    try{
                      
                  
                  Connection conn = Connect.getMyConnection();
                     
                  PreparedStatement  st= conn.prepareStatement("INSERT INTO received ( id, message ) VALUES (?,?)");
                  st.setString(1, id);
                  st.setString(2, message);
    st.executeUpdate();
                  conn.close();
                  st.close();
                  
                } 
    catch(Exception e){
                            
                          e.printStackTrace();
                    }
                    
                    
                    
    %>
    	 sender: <%= id %> provider  message<%= message %>
    j'ai l'erreur suivante
    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
    type Rapport d''exception
     
    message Impossible de compiler la classe pour la JSP:
     
    description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
     
    exception
     
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP: 
     
    Une erreur s'est produite à la ligne: 31 dans le fichier jsp: /WebContent/receive.jsp
    Connect cannot be resolved
    28: 		try{
    29: 		  
    30: 	      
    31: 	      Connection conn = Connect.getMyConnection();
    32: 		 
    33: 	      PreparedStatement  st= conn.prepareStatement("INSERT INTO received ( id, message ) VALUES (?,?)");
    34: 	      st.setString(1, id);
     
     
    Stacktrace:
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
    	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/7.0.40.

    Please help !!!

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 22
    Points : 32
    Points
    32
    Par défaut essai de reponse
    quand tu dis que ta jsp recupère les donneés depuis une url??

    c'est possible , je crois que ça doit être la servlet ; et pour ton pb ça doit toujours être cette servlet qui te connecte directement à la bd et mets tes valeurs (c'est conseiller de faire comme celà )

  4. #4
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par stevelaclasse Voir le message
    quand tu dis que ta jsp recupère les donneés depuis une url??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://localhost:8085/TestAuteur/WebContent/traitement.jsp?sender=2011695&message=jsp%20works
    traitement.jsp récupère les paramètres passés à la jsp et les sauvegarde dans une base de donnée

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 22
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par stoner2008 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://localhost:8085/TestAuteur/WebContent/traitement.jsp?sender=2011695&message=jsp%20works
    traitement.jsp récupère les paramètres passés à la jsp et les sauvegarde dans une base de donnée
    traitement.jsp est la partie vue de l'application , elle ne fait que communique les parametres a une servlet, c'est elle(la servlet) qui recupere les paramètres transmit par traitement.jsp pour les traiter (la servlet est dans la partie modèle de l'application)
    donc pour ton cas tu devras mettre en place une servlet qui doit recevoir les données de traitement.jsp (definit juste l'url pattern de ta servlet bien) ;elle utilisera le parametre sender et message pour operer les traitement voulues ,et te renverra les valeurs (à une autre vu comme resulta.jsp qui affichera peut être sauvegarde reussi ou bien echec en fonction de la valeur du paramètre reçu)

    cette partie :

    String receipient = request.getParameter("receipient");
    String id = request.getParameter("sender");
    String message = request.getParameter("message");
    String provider="";

    if (id.startsWith("1119") || id.startsWith("1114")|| id.startsWith("+1119") || id.startsWith("+1114") || id.startsWith("9") || id.startsWith("4") || id.startsWith("001119") || id.startsWith("001114"))
    provider = "A";
    else if (id.startsWith("001112") || id.startsWith("+1112") || id.startsWith("1112") || id.startsWith("2"))
    provider = "B";
    else if (id.startsWith("001115") || id.startsWith("+1115") || id.startsWith("1115") || id.startsWith("5") || id.startsWith("001113") || id.startsWith("+1113") || id.startsWith("1113") || id.startsWith("3"))
    provider = "C";
    else provider = "Other";


    doit être mis dans une servlet, elle appelera ta classe connection.java pour ecrire dans la BD et retournera un true|false en fonction du succes ou de l'echec .......

    JE SUIS A L'ECOUTE................

  6. #6
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Points : 50
    Points
    50
    Par défaut
    merci bien steveLaCLasse ça marche

Discussions similaires

  1. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  2. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  3. Réponses: 4
    Dernier message: 29/01/2008, 11h12
  4. Réponses: 1
    Dernier message: 15/02/2007, 00h24
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

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