Avatar billede jbp Nybegynder
21. juni 2002 - 00:39 Der er 4 kommentarer og
2 løsninger

Hvornår Bean og hvornår Servlet?

Et lille spørgsmål.
I hvilke tilfælde er det bedst at bruge Beans fremfor servlet og omvendt?
Hvad er fordelene og ulemperne ved disse?
Avatar billede disky Nybegynder
21. juni 2002 - 07:54 #1
Puha den er lidt værre at definere.

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.
Avatar billede soelvpil Nybegynder
21. juni 2002 - 10:58 #2
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.
Avatar billede jbp Nybegynder
21. juni 2002 - 11:03 #3
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.
Avatar billede jbp Nybegynder
21. juni 2002 - 11:45 #4
Jeg blev lidt klogere, tak for det
Avatar billede disky Nybegynder
21. juni 2002 - 13:02 #5
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.
Avatar billede stringbuffer Nybegynder
19. marts 2003 - 12:13 #6
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester