Bir duvara çarptım ve yardım almadan geçemiyorum.Veritabanı ile Servlet Eclipse içinde çalışıyor ancak sunucuda çöküyor?
Java Servlet kullanarak Android uygulamam için basit bir giriş ve kayıt yapmaya çalışıyorum ve sorun Tomcat/Eclipse üzerinde yerel olarak çalıştırdığımda her şeyin iyi çalıştığını ancak WARku ile WAR dosyasını dağıtdığımda sorun ücretsiz sunucu, Veritabanı bölümü hiç çalışmıyor gibi görünüyor.
Ben aslında sürücüsünde bir sorun olduğu şüpheli ama benim Android App aracılığıyla kendisine bağlamak beri günlükleri alamıyorum.
Ben freesqldatabase benim veritabanı konuşlanmış. SQL sürücümü tomcat yönergelerine yerleştirdim ve Tomcat kütüphanelerinde bin kez kontrol ettim. JDBC Sürücüsünün konuşlandırılırken sorun yarattığına ama neden olduğunu anlayamadığımdan emin olun, her şey uygulamanın android kısmı ile tamam.Connection connection = null;
boolean check = false;
//this part does not work online
try {
Class.forName("driver");
connection = DriverManager.getConnection("jdbc:mysql://sql7.freesqldatabase.com/sql7112115", "sql7112115", "xxxxxxxxxxx");
response.getWriter().append("4");
String query = "select * from userdata where username = ? and pass = ? ";
response.getWriter().append("5");
PreparedStatement statement = connection.prepareStatement(query);
statement.setString(1, "Sue");
statement.setString(2, "Pass1");
ResultSet result = statement.executeQuery();
check = result.next();
connection.close();
} catch (ClassNotFoundException e) {
System.out.print("Driver error");
} catch (SQLException e) {
System.out.print("SQL error");
}
if (check) {
response.getWriter().append("Login succesful");
} else {
response.getWriter().append("Login unsuccesful");
}
}
Bunu [JawsDB] gibi Heroku MySQL veritabanı sağlayıcılarından birini kullanarak (https://elements.heroku.com/addons/jawsdb) ve (https onların [JDBC kullanmak için docs] Aşağıdaki dikkate almak isteyebilirsiniz: // devcenter.heroku.com/articles/jawsdb#using-with-java) – codefinger
Kural dışı durumunuz çok kötü. 'System.out.print (..)' yerine yeni ServletException (e) 'yazın. Bu şekilde tarayıcıda hemen bir hata sayfasıyla karşılaşacaksınız. – BalusC