Java Web - łączenie się z bazą danych

0

Witam, ucze sie własnie pisania stron JSP i servletów. Potrzebuje sie polaczyc z baza danych. Mam pytanie, w jaki sposob powinienem to zrobic? Wiem ze moglbym po prostu polaczyc sie z kodu JSP czyli cos w stylu:

<%
    Connection conn = DriverManager.getConnection("url", "usr", "passwd");
    ...
%>

Jednak wydaje mi sie to zlym rozwiazaniem z 2 powodow. Po pierwsze, musiałbym kopiowac i wklejac ten wycine kodu w kazdym skrypcie gdzie sie lacze z baza a chyba nie o to chodzi. Po drugie, wyczytałem na jakims forum ze łaczenie sie z poziomu kodu JSP jest bardzo zła praktyka.
Uznalem ze napisze wiec osobna klase Java to obslugi bazy danych (btw. to powinna byc zwykła klasa czy servlet?). Pytanie teraz jest o obsługe wyjatkow. Kod tej klasy wygladałby mniej wiecej tak:

public class Database {
    
    private Connection conn;

    public Database() throws SQLException {
        conn = DriverManager.getConnection("url", "usr", "passwd");
        ...
    }
}

Innymi słowy konstruktor wywalałby wyjatek w razie niemoznosci połaczenia sie z baza danych. Poniewaz obiekt bazy danych rejestrowałbym jako ziarnko:

<jsp:useBeam id="database" class="test.Database" scope="page"/>

To nie wiem jak miałbym przechwycic tutaj ten wyjątek? Prosze o rozwiazanie tego problemu albo zaproponowanie lepszego sposobu na laczenie sie z baza danych. Bede bardzo wdzieczny. Pozdrawiam

0

Zdecydowanie lepiej opcja 2. Nie dawaj konstruktorowi wyrzucać wyjątku tylko otocz tworznie połączenia blokiem try/catch i tam reaguj na exceptiona.

1 użytkowników online, w tym zalogowanych: 0, gości: 1