1

我正在使用 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 却不行。

我们必须在 IPv4 上强制使用 Tomcat 是否存在同样的问题?我能做什么(文件、行等)?谢谢你帮助我。

4

0 回答 0