En servlet er en klasse som svarer på en http forbindelse, og generere f.eks. html kode og sender det retur til broseren. Problemmet med en servlet er at det er en hård kobling imellem design (html) og funktionalitet (java). Så hvis man skal ændre på designet skal klasserne recompiles. Derfor brug altid JSP istedet.
En bean er en special udgave af en klasse der har metoder til overvågning af ændringer videre sendelse af beskeder angående dette osv.
Til almindelig webudvikling kan du sagtens klare dig med JSP + alm klasser.
Det vil normalt være lettest at bruge en kombination af jsp + alm.klasser(beans), den største fordel er at koden mere kommer til at ligne html-outputtet.
Servlets til at generere html-output bruges meget sjældent, det er besværligt og uoverskueligt.
Jeg kan dog komme i tanker om to situationer, hvor man typisk vil bruge en servlet.
1. Brugeren trykker på et link eller submitter en form. Der er så f.eks. 3 meget forskellige skærmbilleder han kan komme til, afhængig af situationen. Her kan man typisk have en jsp-side for hvert af de 3 skærmbilleder, og så have en servlet foran, der finder ud af, hvilket af de 3 skærmbileder der skal vises. Der genereres altså ikke html-outut i servletten.
2. En anden situation kunne være, hvis man slet ikke brugte jsp, men i stedet en xml/xsl-kombination, som man sagtens kan parse fra en servlet. Det er dog ikke lige for nybegyndere.
Så et generelt råd: Brug jsp+beans, med mindre man er helt sikker på, at det er en dårlig ide. Brug hjælpeklasser så meget som muligt for at have så lidt javakode som overhovedet muligt i din jsp-side.
I hvilke tilfælde vil du så benytte dig af servlet istedet? et eksempel vil være ok (netbank?, chat?,administrationer?), da jeg har svært ved at se nogen fordele ved at bruge servlet, fremfor jsp.
soelvpil: 'bruges meget sjældent' Er det sværre meget forkert, rigtigt mange firmaer der tidligere har brugt asp/perl/php bruger desværre servlets til at spytte html ud med, ganske enkelt fordi de ikke har sat sig ind i teknologien.
dit pkt 1 er helt rigtigt, i MVC pattern bruger man 1 servel som controller
jeg har et punkt 3
output af binær data, f.eks. et grafik billede. Det eneste tidspunkt jeg har lavet en servlet er den counter som idag bruges på subnet :-)
jbp: Kun som controller, eller til binær data. Godt nok kan en jsp side også spytte binær data ud men det er noget nemmere i en servlet.
Måske er jeg bare dum, men jeg ville også bruge en servlet til alm. HTML output, men selve html'en skulle være i en skabelonfil, som man altid kunne redigere for sig.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.