Bonjour,
Je débute en programmation orientée objet et en Java.
Je travaille sous Eclipse et je souhaite établir un connexion vers ma base de données SQL Server. Je souhaite qu'il n'y ait qu'un seul fichier (class) que j'importerais dans chacune de mes servlets.
Voici mon code:
Voici le code de ma servlet:
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 package OutillageCentrale; import java.sql.Connection; import java.sql.DriverManager; public class ConOutillageCentrale { public static Connection ConOutillageCentrale = null; /** * @param args * @return */ public static Connection main(String[] args) { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://{servername};"+"databaseName=OutillageCentrale;user={username};password={motdepasse}"; ConOutillageCentrale = DriverManager.getConnection(url); if (ConOutillageCentrale != null) { } } catch (Exception e ) { System.out.println("Ca marche pas !!!"); } return ConOutillageCentrale; } }
Lors de la "//Création d'un objet Statement", Eclipse demande de créer la fonction createStatement() dans la classe ConOutillageCentrale. Je sais que c'est tout à fait normal mais pourquoi import java.sql.Statement; n'est pas reconnu ?
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 package OutillageCentrale; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import OutillageCentrale.ConOutillageCentrale; /** * Servlet implementation class Acceuil */ public class Acceuil extends HttpServlet { private static final long serialVersionUID = 1L; public static final String VUEAcceuil = "/WEB-INF/lib/entete.jsp"; /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { //DOIS JE FAIRE CECI POUR APPEL MA VARIABLE ConOutillageCentrale? ConOutillageCentrale ConOutillageCentrale = new ConOutillageCentrale(); //Création d'un objet Statement Statement state = ConOutillageCentrale.createStatement(); //L'objet ResultSet contient le résultat de la requête SQL ResultSet result = state.executeQuery("SELECT * FROM NomControle;"); //On récupère les MetaData ResultSetMetaData resultMeta = result.getMetaData(); System.out.println("\n**********************************"); //On affiche le nom des colonnes for(int i = 1; i <= resultMeta.getColumnCount(); i++) System.out.print("\t" + resultMeta.getColumnName(i).toUpperCase() + "\t *"); System.out.println("\n**********************************"); } catch ( Exception e ) { System.out.println("ERREUR"); } this.getServletContext().getRequestDispatcher(VUEAcceuil).forward( request, response ); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
Je comprends que j'utilise la classe ConOutillageCentrale et non la "variable" de connexion ConOutillageCentrale mais je ne sais pas comment rémédier à ce probleme.
Rappel: ce que je veux faire exactement c'est utiliser ma classe ConOutillageCentrale dans toutes mes servlets.
Merci d'avance pour votre aide.
Partager