# DB in der Logik und Darstellung in der View



## number8 (18. Mrz 2007)

Hallo.
Ich habe gerade angefangen, mich mit JSP's, Sevlets und JSF zu beschäftigen. So ein paar einfache Sachen bekomme ich ja auch hin. Nun möchte ich in einer Java-Klasse (Servlet? Bean? - was nimmt man da?) den Inhalt einer DB auslesen und in einer JSP anzeigen lassen. Wie mache ich das? in der Java-Klasse packe ich die DB-Daten in ein Array. Wie greife ich am besten aus der JSP darauf zu (mit usebean und property?) und wie bekomme ich es hin, daß in der JSP das Array komplett durchlaufen werden kann (habe das bisher(PHP) immer mit while-Schleifen getan - was nun aber wieder sowas wie Logik ist und ins Java gehört und nicht in den View). 
Danke für die Antworten.


----------



## SlaterB (18. Mrz 2007)

Array durchlaufen ist was für die JSP, solch grundlegende Operationen kann man nicht als Logik bezeichnen,
wie du das machst kann ich grad nicht sagen, JSTL und was es sonst noch so an höheren Sprachmöglichkeiten gibt,

eine solche Frage stellt sich aber auch gar nicht wenn man eine Vorlage/ Tutorial hat,
fang sowas kompliziertes nicht bei 0 an (und lass es nicht das Forum für dich machen  )

-----

und was ich eigentlich sagen wollte:
wenn dir die Darstellung noch nicht klar ist, dann mache das nicht gleichzeitig mit dem DB-Zugriff,
sondern erstelle dir lieber erstmal 2-3 Testdaten und versuche die darzustellen,
wenn das geht, dann mit DB-Zugriff


----------



## number8 (18. Mrz 2007)

Was das Tutorial betrifft, da halte ich mich an die J2EE-Bücher vom Thomas Stark. Nee, das Forum soll's ja auch nicht richten für mich, nur Denkanstöße geben.  :idea:


----------



## number8 (20. Mrz 2007)

Eine Frage habe ich da doch noch.
Soweit klappt alles. Ich lese in einem Servlet die Datenbank-Tabelle aus und übergebe die Daten dem Request mit setAttribute. Nun möchte ich die gewonnenen Daten doch vorher lieber in einer Bean ablegen. So dachte ich mir: erzeugste mal eine Instanz der Bean im Servlet und packst mit den Setter-Methoden die Werte da rein. Das scheint aber nicht zu funktionieren, denn die Werte, wenn ich sie dann abrufe, sind immer null.


```
private DBData DbData = new DBData();
...
for(int i = 1; i <= n; i++)
    res += rsmd.getColumnName(i) + ";"; // wobei res ein String ist - is auch nur'n Test
DbData.setDbCols(res);
request.setAttribute("liste", DbData.getDbCols());
```


----------



## number8 (20. Mrz 2007)

Ähm, halt, Kommando zurück...ich Depp hatte den Datenbankserver nicht gestartet...hust. Die Maler waren gestern da und es sind lauter komische Stoffe in der Luft...von daher...


----------

