JSP Database Bağlantısı

Başlatan MRWhite, 14 Mart 2014 - 15:19:01

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

MRWhite

JSP ile veri tabanına bağlanmaya çalışıyorum, hata almıyorum fakat herhangi bir çıktı da alamıyorum. Aynı database'i qt5 ile de kullandım çalışıyor.

<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.DatabaseMetaData"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ page import="java.util.*" %>
<%@ page import="javax.sql.*" %>
<%
Connection connection = null;
Statement st = null;
ResultSet rs = null;
DatabaseMetaData databasemetadata = null;
try {
Class.forName("org.sqlite.JDBC");
String dbURL = "jdbc:sqlite:/home/sinan/Desktop/sqlite/database.db";
connection = DriverManager.getConnection(dbURL);
st = connection.createStatement();
rs = st.executeQuery("select * from names");
while(rs.next()) {
out.println("Connected to the database");
databasemetadata = (DatabaseMetaData) connection.getMetaData();
out.println("Driver name: " + databasemetadata.getDriverName());
out.println("Driver version: " + databasemetadata.getDriverVersion());
out.println("Product name: " + databasemetadata.getDatabaseProductName());
out.println("Product version: " + databasemetadata.getDatabaseProductVersion());
}
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if(rs != null) rs.close();
if(st != null) st.close();
if(connection != null) connection.close();
}
%>

</body>
</html>

if

@MRWhite, hiç anlamadım işler bunlar o yüzden soracağım sorular gereksiz olabilir fakat yardımcı olabilecek arkadaşların yorum yapabilmesi adına belki daha fazla bilgi gerekebilir. Veritabanı Mysql gibi bir şey mi? Öyleyse ona ait kayıt dosyalarına bakılabilir.

MRWhite

@if haklısınız biraz daha açıklama eklesem daha analaşılır olurdu. SQLITE veri tabanına bağlanmaya çalışıyorum ancak Tomcat 7 sunucusunu çalıştırdığımda boş bir sayfa geliyor. Oysa ki program try bloğunun içine girmekte ve daha sonra da while(rs.next())'in içine girip oradaki print işlemlerini yapması gerekiyor. Database dosyamda bir problem yok çünkü daha önce farklı dillerle de onu kullandım. Hatta bu kod çalışmayınca qt c++ ile tekrar denemiştim. Benim öngördüğüm hata while döngüsüne gelmeden ancak bir türlü bulamıyorum.

sem

stacktrace'ler nereye gidiyor, bir hata durumunda stacktrace'ler tomcat çıktısına yönlendiriliyor olabilir mi? İlk bakışta kodda sorun görünmüyor açıkcası, bu nedenle bir exception bekliyorum bir çıktı almıyorsanız ya da veri tabanınından satır dönmemesi gibi bir durum olabilir sanıyorum. Durumu netleştirmek için;


connection = DriverManager.getConnection(dbURL);

satırının hemen altına şunları ekleyebilir misiniz?

System.out.println("Veri tabanı bağlantısı kuruldu");
out.println("Veri tabanı bağlantısı kuruldu");


Veri tabanı bağlantısı çünkü while() döngüsüne girilmiş olmasa da kurulmuş olmalı. Aynı şekilde exception yakalamaları için de System.out.println() ve out.println() metodları ile loglama yapabilir misiniz?

Bir yere bir hata logu atılacak mı görmüş olalım.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?