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:
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:
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:
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. |