pb connexion bdd via hibernate sur tomcat
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:
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 :
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
|
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();
} |
et voici l'erreur à l'appel
Code:
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 |
la ligne 59 est "for (int i=1;i<l.size();i++) {"
dans les logs de tomcat, j'ai
Code:
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.