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

JDBC Java Discussion :

Sauvegarder une variable dans une Base de données à partir d'une page JSP


Sujet :

JDBC 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 Base de données à partir d'une page JSP
    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.

  2. #2
    Membre averti
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Points : 301
    Points
    301
    Par défaut
    En lisant l'erreur il parait qu'il te manque un import de la classe Connect

  3. #3
    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
    oui je sais mais je ne sais pas c'est quoi le problème
    normalement j'ai importé ma classe selon le code posté.
    J'ai même testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <jsp:useBean id="C" class="com.database.Connect" scope="session"></jsp:useBean>
    ....
    ....
    Connection conn = C.getMyConnection();
    il me génère l'eerur 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
    Etat HTTP 500 - /WebContent/receive.jsp (line: 11, column: 0) The value for the useBean class attribute com.database.Connect is invalid.
     
    type Rapport d''exception
     
    message /WebContent/receive.jsp (line: 11, column: 0) The value for the useBean class attribute com.database.Connect is invalid.
     
    description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
     
    exception
     
    org.apache.jasper.JasperException: /WebContent/receive.jsp (line: 11, column: 0) The value for the useBean class attribute com.database.Connect is invalid.
    	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
    	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
    	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:149)
    	org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1237)
    	org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1182)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
    	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
    	org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    	org.apache.jasper.compiler.Generator.generate(Generator.java:3503)
    	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:250)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
    	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.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/05/2016, 18h48
  2. Réponses: 2
    Dernier message: 23/05/2013, 02h22
  3. Réponses: 3
    Dernier message: 24/04/2012, 18h39
  4. Réponses: 0
    Dernier message: 17/04/2012, 10h38
  5. [MySQL] Enregistrer une variable dans la base de données
    Par naim2009 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/03/2009, 22h34

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