私は、サーブレット、JSP ビュー、およびいくつかのモデルを作成することを目標に、Eclipse Juno、Java 7、Tomcat 7、および MySQL 5.5 を使用した最初の Java EE プロジェクトに取り組んでいます。しかし、サーブレット内のデータベースへの接続に大きな問題があります。最初にサーブレットから直接接続してから、作成した 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 と同じ問題ですか? 正確に何ができますか(ファイル、行など)?私を助けてくれてありがとう。