我正在使用Eclipse Juno,Java 7,Tomcat 7和MySQL 5.5开发我的第一个Java EE项目,目标是创建一个servlet,一个JSP视图和一些模型。 但是我在servlet中连接数据库时遇到了很大的问题。首先,我直接从servlet连接,然后调用我创建的DBConnection对象,无论如何它不会改变问题,因为我很确定我按照下面的说法正确完成了但仍然存在连接问题:
public class servphilo extends HttpServlet {
ResultSet listeEtat;
DBConnection conn = null;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
conn=new DBConnection();
System.out.println("création objet connexion OK");
} catch(Exception e) {
e.printStackTrace();
}
try {
conn.getDBConnection();
} catch (Exception e) {
e.printStackTrace();
}
this.getServletContext().getRequestDispatcher( "/WEB-INF/view.jsp" ).forward( request, response );
}
}
public class DBConnection {
Connection conn = null;
public DBConnection () {
//System.out.println("objet DBconnection OK");
}
public Connection getDBConnection() throws Exception{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String sUserName="aaa";
String sPwd="bbb";
System.setProperty("java.net.preferIPv4Stack" , "true");
conn = DriverManager.getConnection("jdbc:mysql://localhost/base",sUserName,sPwd);
System.out.println("objet DBconnection OK");
return conn;
}
}
从浏览器中可以正确发送JSP视图,但Eclipse的控制台会写下以下消息:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
System.setProperty(“java.net.preferIPv4Stack”,“true”)行;你可以在下面看到的是从经典Java类到IPv4的连接的前一个想法,它运行良好,但现在servletit没有。
与Tomcat一样,我们必须强制使用IPv4吗?我能做些什么(文件,行等)?谢谢你的帮助。