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.