bonjour.
j'ai développé une application java (servlet, jsp, hibernate) tournant correctement sur tomcat/mysql en local.
je voudrais installer mon application sur un serveur dédié ovh mais je galère depuis 15 jours pour accéder à ma base de données via hibernate. en revanche, cela fonctionne quand je me connecte directement dans une servlet avec un code du genre
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 String loginUser = "***"; String loginPasswd = "***"; String loginUrl = "jdbc:mysql://localhost:3306/toupil"; response.setContentType("text/html"); // Response mime type // Output stream to STDOUT PrintWriter out = response.getWriter(); // Load the mm.MySQL driver try { Class.forName("com.mysql.jdbc.Driver"); out.println("1"); Connection dbcon = DriverManager.getConnection(loginUrl, loginUser, loginPasswd); // Declare our statement out.println("2"); Statement statement = dbcon.createStatement(); out.println("3"); String query = "SELECT name_de FROM toupil.department"; // Perform the query ResultSet rs = statement.executeQuery(query); out.println("4"); out.println("il y a " + rs.getRow() + " départements"); out.println("<TABLE border>"); // Iterate through each row of rs while (rs.next()) { String m_name = rs.getString("name_de"); out.println("<tr>" + "<td>" + m_name + "</td>" + "</tr>"); } out.println("</TABLE>"); rs.close(); statement.close(); dbcon.close(); out.println("aa"); }
pour tester plus facilement, j'ai faius une servlet toute simple qui retourne la liste des départements stockés dans ma bdd. çà fonctionne en local mais pas sur le dédié. voilà le code de la servlet :
et voici l'erreur à l'appel
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 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.print(" This is "); out.print(this.getClass()); out.println(", using the GET method<br /><br />liste des departements "); ArrayList<Department> l = com.toupil.Classes.Department.listAllDepartments(); for (int i=1;i<l.size();i++) { out.println("<br />" + l.get(i).getName_de()); } out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); }
la ligne 59 est "for (int i=1;i<l.size();i++) {"
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 Etat HTTP 500 - type Rapport d'exception message description Le serveur a rencontr? une erreur interne () qui l'a emp?ch? de satisfaire la requ?te. exception java.lang.NullPointerException com.toupil.Test.Deps.doGet(Deps.java:59) javax.servlet.http.HttpServlet.service(Unknown Source) javax.servlet.http.HttpServlet.service(Unknown Source) note La trace compl?te de la cause m?re de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0-snapshot. Apache Tomcat/6.0-snapshot
dans les logs de tomcat, j'ai
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 25 janv. 2008 13:10:27 org.apache.catalina.core.StandardWrapperValve invoke GRAVE: "Servlet.service()" pour la servlet Deps a g?n?r? une exception java.lang.NullPointerException at com.toupil.Test.Deps.doGet(Deps.java:59) at javax.servlet.http.HttpServlet.service(Unknown Source) at javax.servlet.http.HttpServlet.service(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source) at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source) at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source) at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source) at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source) at org.apache.catalina.connector.CoyoteAdapter.service(Unknown Source) at org.apache.jk.server.JkCoyoteHandler.invoke(Unknown Source) at org.apache.jk.common.HandlerRequest.invoke(Unknown Source) at org.apache.jk.common.ChannelSocket.invoke(Unknown Source) at org.apache.jk.common.ChannelSocket.processConnection(Unknown Source) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Unknown Source) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown Source) at java.lang.Thread.run(Thread.java:619)
pour passer du local au serveur, je change juste le user et le mot de passe de mon fichier hibernate.cfg.xml et je déploie le war
y-a-il d'autres manipulatiuons à faire ?
merci d'avance.
Partager