Skip to content

1. Inleiding

De PDF van dit document is beschikbaar |HIER|.

De voorbeelden in dit document zijn beschikbaar |HIER|.

Hier wordt voorgesteld om de basisprincipes van MVC-webprogrammering in Java met servlets en JSP-pagina’s te ontdekken. Na het lezen van dit document en het testen van de voorbeelden zou de lezer de basisconcepten van webprogrammering in Java onder de knie moeten hebben.


Om de voorgestelde oefeningen goed te kunnen begrijpen, kan het nuttig zijn om het document [Inleiding tot webprogrammeren in Java met servlets en JSP-pagina's (2002)] te raadplegen. De leestips die aan het begin van sommige hoofdstukken worden gegeven, verwijzen naar dit artikel. Dit document wordt hierna aangeduid als [ref1].


Dit document kan op verschillende manieren worden gebruikt:

  1. je installeert de tools, downloadt de codes van de website van dit document en voert de voorgestelde tests uit. Een beginner zal aan een dergelijke methode niets hebben. Een ervaren ontwikkelaar kan dit echter wel doen, als hij alleen geïnteresseerd is in het testen van de Eclipse / WTP-ontwikkelomgeving.
  1. je installeert de tools, volgt het document en voert de voorgestelde tests uit door te kopiëren en te plakken vanuit dit document. Je leest het document [ref1] niet. Door op deze manier te werk te gaan, begin je de basis van webontwikkeling onder de knie te krijgen, maar sommige punten zullen onduidelijk of ‘magisch’ blijven. Dit is een mogelijke methode als je snel vooruitgang wilt boeken, met de bedoeling om je pas later verder te verdiepen, bij het schrijven van een persoonlijke applicatie en misschien met een ander referentiedocument dan [ref1].
  2. We doen hetzelfde als in 2, maar we lezen [ref1] wanneer dat wordt aangeraden. Deze langzamere methode neemt een aantal van de onduidelijke en mysterieuze punten van methode 2 weg, maar bereidt je niet goed voor op een eigen project, omdat de codes die je via kopiëren/plakken verkrijgt, niet per se goed begrepen zullen worden.
  3. We doen hetzelfde als in 3, maar typen alle codes zelf in. Dit is uiteraard tijdrovender en vervelender, maar zeer effectief. Om de codes in te typen, moet je ze lezen, wat leidt tot aandacht voor de code en daarmee tot een begin van begrip. Dit handmatig overtypen verloopt zelden zonder fouten. Deze fouten, die door de verschillende Eclipse-tools worden gesignaleerd, zetten de lezer ertoe aan om na te denken over de code die hij heeft geschreven en deze zo beter te begrijpen.

Dit document bevat een groot deel van een artikel dat in januari 2005 verscheen onder de titel „Webontwikkeling in Java met Eclipse en Tomcat“ en beschikbaar is via de url [http://tahe.developpez.com/java/eclipse/]. De toevoegingen ten opzichte van dat document zijn de volgende:

  • het gebruik van de Eclipse-plug-in WTP voor de ontwikkeling van webapplicaties,
  • een herschikking van het document om de nadruk te leggen op de MVC 3-tier-architectuur, die in het oorspronkelijke document nauwelijks aan bod kwam,
  • een voorbeeld van een MVC 3-tier webapplicatie die gebruikmaakt van de gegevens uit een SGBD.

Een 3-tier-webapplicatie heeft de volgende structuur:

  • de [dao]-laag zorgt voor de toegang tot de gegevens, meestal persistente gegevens binnen een SGBD. Maar het kunnen ook gegevens zijn die afkomstig zijn van sensoren, het netwerk, ...
  • De laag [metier] implementeert de „bedrijfsspecifieke” algoritmen van de applicatie. Deze laag is onafhankelijk van elke vorm van gebruikersinterface. Ze moet dus zowel met een console-interface, een webinterface als een rijke clientinterface kunnen worden gebruikt. Ze moet dus buiten de webinterface om kunnen worden getest, met name via een console-interface. Dit is doorgaans de meest stabiele laag van de architectuur. Ze verandert niet als de gebruikersinterface of de manier waarop toegang wordt verkregen tot de gegevens die nodig zijn voor de werking van de applicatie, wordt gewijzigd.
  • de laag [web], de webinterface waarmee de gebruiker de applicatie kan bedienen en informatie van de applicatie kan ontvangen.

Het artikel [http://tahe.developpez.com/java/eclipse/] geeft alleen voorbeelden van webapplicaties die zich beperken tot de laag [web]. Hier geven we een voorbeeld waarbij gebruik wordt gemaakt van alle drie de lagen.