Bonjour,
Je ne sais pas précisément où je dois poster ce problème car je ne sais pas précisément d'où vient l'erreur.
Contexte :
Je reprends un projet web (struts, ...). Après des recherches, j'ai fini par cerner ce que je pense être pertinent pour le problème.
Lorsque j'accède à cette page JSP :
index.jsp
j'ai le message d'erreur suivant sur la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <%@ page import="java.sql.*" %> <% String url = "jdbc:mysql://localhost/schema"; String user = "user"; String pass = "password"; String myDriver = "com.mysql.jdbc.Driver"; try { Class.forName(myDriver); con = DriverManager.getConnection(url, user, pass); } catch (Exception e) {...} %>
Ce qui est étrange, c'est que le même fichier dans un autre projet Tomcat marche sans problème.
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 java.sql.SQLException: Communication link failure: Bad handshake at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:652) at com.mysql.jdbc.Connection.createNewIO(Connection.java:1511) at com.mysql.jdbc.Connection.<init>(Connection.java:485) at com.mysql.jdbc.Driver.connect(Driver.java:341) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at org.apache.jsp.index_jsp._jspService(index_jsp.java:56) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:619)
De même, une application Java écrite à la main dans le même projet (c'est-à-dire utilisant les mêmes lib sous Eclipse) arrive également à établir la connexion à la base de données MySQL.
Ce n'est donc pas le code qui est à incriminer, mais l'environnement sous Eclipse pour ce projet Tomcat qui pose problème (a priori).
Je suis vraiment sans réponse face à ça depuis 2 semaines. Est-ce que vous avez une idée ou des pistes ?
---
Environnement :
- Apache Tomcat 5.5.20
- Eclipse 3.2.1
- Plugin Eclipse Tomcat (Sysdeo)
- Java EE 5 SDK
- mysql-connector-java-5.0.4-bin.jar
- Struts-1.3
- Hibernate2
- Serveur MySQL 5.0.27
Je lance évidemment le serveur Tomcat à partir d'Eclipse.
piloupy
Partager