Servlet:与数据库的连接不起作用

时间:2013-04-01 20:16:42

标签: java-ee tomcat servlets

我正在使用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吗?我能做些什么(文件,行等)?谢谢你的帮助。

0 个答案:

没有答案