Programmering

Hvilken JSP-bog serverer den bedste lektion?

Leder du efter den JavaServer Pages-bog, der får dig i gang med at oprette JSP-baserede websteder? I denne artikel vil jeg se på seks af de seneste JSP-bøger, der tilbydes. Disse bøger inkluderer:

  1. Ren JSP: Java-server-sideraf James Goodwill (Sams, 2000)
  2. JavaServer-sideraf Larne Pekowsky (Addison-Wesley, 2000)
  3. Øjeblikkelige JavaServer-sideraf Paul Tremblett (Osborne McGraw-Hill, 2000)
  4. Webudvikling med JavaServer-sideraf Duane K. Fields og Mark A. Kolb (Bemanningspublikationer, 2000)
  5. Kerneservlets og JavaServer-sideraf Marty Hall (Prentice Hall, 2000)
  6. Professionel JSPaf Dan Malks, et al. (Wrox Press, 2000)

Tabel 1 nedenfor giver et hurtigt overblik over de gennemgåede bøgeres hovedkarakteristika. Jeg vil gå mere i detaljer og gennemgå hver bog individuelt senere i artiklen.

Tabel 1: Oversigt over JSP Books
Ren JSPJavaServer-siderØjeblikkelige JavaServer-siderWebudvikling med JavaServer-siderKerneservlets og JavaServer-siderProfessionel JSP
Pris 4.99 9.95 9.99 4.95 2.99 9.99
I alt sider 325 300 510 560 580 900
CD-ROM / kilde fra internettet Nej nej Ja Nej Ja / Ja Nej Ja Nej Ja Nej Ja
Forfattere 1 1 1 2 1 21
Servlets / JSP versioner 2.2 / 1.1 2.2 / 1.1 2.1 / 1.0 2.2 / 1.1 2.2 / 1.1 2.2 / 1.1
JavaBeans Gennemsnit Gennemsnit Gennemsnit Meget godt Gennemsnit Gennemsnit
JDBC godt godt godt Meget godt Godt* godt
Tagudvidelser Ingen Fattige Fattige* Meget godt godt godt
XML Gennemsnit Fattige Fattige Fattige Ingen godt
J2EE Ingen Ingen Ingen Gennemsnit Ingen godt
Indkøbskurv Gennemsnit Gennemsnit godt Ingen Gennemsnit Gennemsnit
API-reference Meget godt Ingen Meget godt Gennemsnit Ingen* Meget godt
Webservere / databaser Tomcat PostgreSQL Apache, JServ, PostgreSQL Tomcat Tomcat, JSWDK, Java Web Server Apache, Tomcat
Vægt:IngenFattigeGennemsnitgodtMeget godt
En stjerne (*) i et felt betyder, at denne anmeldelse giver yderligere detaljer om placeringen.

Den første gruppe af rækker i tabel 1, op til Forfattere, skal være ret selvforklarende. De efterfølgende rækker angiver den version eller dækningsgrad, som bøgerne tilbyder for hver kategori. Her er nogle ting at bemærke:

  • Servlets API er gået fra 1.0 til 2.0 til 2.1 og er nu op til 2.2. JSP API er gået fra 0,91 (og tidligere) til 0,92 til 1,0 til den nuværende 1.1-version. Næsten alle bøgerne dækker den nyeste API-version.
  • Til JavaBeans-JSP-sideforbindelsesdækning ledte jeg primært efter brug med jsp: useBean.
  • J2EE-dækningen er foruden servlets, JDBC og XML-dækning.
  • API Reference viser bogens dækning af javax.servlet.jsp(og måske javax.servlet) API-dokumentation. Personligt har jeg aldrig haft brug for at se på javax.servlet.jsp API-reference. Af hensyn til klarheden skal jeg nævne, at API-referencen ikke er listen over implicitte objekter og JSP-direktiver. Jeg mener API-dokumentation om JspEngineInfo og JspFactoryklasser.
  • Med hensyn til webservere / databaser er det bare ikke at nævne en server i bogen at nævne her. Grundlæggende er instruktion om, hvordan man konfigurerer webserveren eller tilføjer en JSP-fil / webapplikation til webserveren, og / eller hvordan man konfigurerer / bruger databaseserveren.

Før jeg starter anmeldelserne, skal jeg nævne, at jeg er forfatter til et kapitel i Professionel JSP (Wrox Press). I betragtning af det lille bidrag, jeg har ydet til Professionel JSP, Jeg føler, at jeg stadig kan give et objektivt overblik over den bog og de andre. Da det tydeligvis ikke er min yndlingsbog, håber jeg, du kan føle det samme.

I resten af ​​denne artikel gennemgår jeg hver bog individuelt. Ved siden af ​​hver bogs titel er der en stjernebedømmelse, der er baseret på bogens samlede dækning af JavaServer-sider. En stjerne svarer til en dårlig rating, og den højeste rating (fem stjerner) oversættes til enestående dækning.

Ren JSP: Java-server sider(4 stjerner)

Jeg finder sjældent bøger udgivet af Sams, som jeg kan lide, men jeg er glad for at kunne sige, at jeg fandt en undtagelse. Mens Ren JSP: Java-server-sider af James Goodwill er den mindste af JSP-bøgerne, jeg fandt, at JSP-dækningen var meget kortfattet skrevet og næsten fuldstændig. Den vigtigste manglende komponent var, hvordan man opretter tilpassede tagbiblioteker. Goodwill starter med et konceptuelt overblik over JSP og hvordan det passer ind i Servlets, JavaBeans og JDBC. Han inkluderer også teknikker til håndtering af fejl, arbejde med de implicitte objekter, bruge standardhandlinger, kommunikere med JavaBeans, kommunikere med en database gennem en forbindelsespulje, bruge SAX-parseren med XML og sende e-mail med JavaMail API. Selvom ingen af ​​kapitlerne er omfattende eller dybtgående, er bogens indhold mere end tilstrækkelig til at komme i gang med JSP.

I betragtning af bogens lille størrelse var jeg overrasket over at se den sidste tredjedel af bogen optaget på API-referencen. Du kan finde kildekoden til Ren JSP fra Sams websted (se Ressourcer). En anden mindre note: Ren JSP er den eneste bog, hvor titlen havde forkert brug af Java Server i JavaServer-sider.

JavaServer-sider(2 1/2 stjerner)

JavaServer-sideraf Larne Pekowsky er rettet mod webdesigneren i stedet for Java-udvikleren (i modsætning til Ren JSP). Du finder en introduktion til oprettelse af dynamisk indhold, Java-programmeringssprog og skrivning af JavaBeans samt en introduktion til JDBC. Du skal bruge JavaBeans, før du lærer, hvordan du opretter dem, og du er nødt til at hente kilde- / klassefilerne fra cd'en for at bruge eksemplerne. Desværre viser Pekowsky ikke, hvordan man opsætter webserveren eller JDK for at oprette en JSP-side, kompilere en Java-klasse eller vise, hvor bønneklassen skal placeres. En henvisning til dokumentation om konfiguration af Tomcat findes på den ledsagende cd, selvom den er kortfattet. Grundlæggende har Pekowsky dig udpakket en zip-fil, men tillader dig ikke at oprette noget selv.

Når man lærer om alle disse teknologier, JavaServer-sider tager dig gennem udviklingen af ​​et fiktivt Slashdot-lignende websted kaldet Java News i dag, øge mængden af ​​understøttet dynamisk indhold undervejs. I udvikling Java News i dag, Pekowsky giver ikke den typiske JSP-dækning af emner som implicitte objekter og direktiver. Faktisk findes der ingen liste over implicitte objekter overalt, og JSP-taglisten henvises til et tillæg.

Resten af ​​bogen ser ud til at springe rundt med forskellige emner med masser af SQL-kode til opsætningstabeller til eksemplerne. For læsere fandt jeg mange af beskrivelserne forvirrende eller utilstrækkelige. Hvis du er interesseret i at bruge JSP til at tilføje JavaBeans til dine websider, så vil denne bog vise dig hvordan; Ellers ville jeg ikke gider læse det for noget andet.

Øjeblikkelige JavaServer-sidernærmer sig sin undervisning i JSP på en måde, som den Ren JSP og JavaServer-sider. Du får en detaljeret beskrivelse af, hvad JSP er, og hvordan du kan bruge det, efterfulgt af en beskrivelse af syntaks med alt fra sidedirektiver til implicitte objekter, sessioner og fejlsider. Ud over introduktionen er der otte kapitler, der dækker typiske JSP-webapplikationer, der lærer dig JSP-grundlæggende undervejs. Disse inkluderer en login manager, FAQ-database, telefonkatalog, elektronisk postkortafsender og mange flere. Når du kender hvert af disse grundlæggende, kan du nemt udvide et eksisterende websted. XML-eksemplet er lidt svagt; det genererer bare XML, men analyserer ikke noget.

Øjeblikkelige JavaServer-siderinkluderer også omfattende installationsinstruktioner til Linux af Apache, JServ og PostgreSQL. Det afslører bogens mangel - det er den eneste JSP-bog, der beskriver den hurtigt forældede JSP 1.0-specifikation. Det betyder, at beskrivelsen af ​​funktionalitet såsom tagudvidelser er foreløbig og kun bruger Servlets 2.1 API-version. På trods af denne mangel er bogen generelt en god lære-ved-eksempel tilgang til JSP.

Webudvikling med JavaServer-sider(5 stjerner)

Webudvikling med JavaServer-siderfra Manning Publications er bestemt til den avancerede Java-udvikler. Webdesignere vil også finde det nyttigt, hvis de bare ignorerer den sidste halvdel af bogen. Forfatterne Duane Fields og Mark Kolb starter med den typiske introduktion til JavaServer Pages og sammenligner den med andre dynamiske indholdsteknologier. Derudover går de nærmere ind på opgaver såsom at adskille præsentation fra implementering for at opnå arbejdsdeling.

Efter introduktionen giver Fields og Kolb et dybtgående kig på JSP-syntaks, fra bønner og sessionsstyring til direktiver, handlinger og implicitte objekter. Mens de fleste af de andre JSP-bøger giver et kort oversigt over disse elementer, Webudvikling med JavaServer-sider forsøger at være mere nyttigt og tilbyder mere dybtgående dækning, såsom en tabel over metoderne til hvert af de implicitte objekter.

Og med beskrivelsen af ​​JavaBean-integrationen får du mere end bare, hvordan du bruger jsp: useBean syntaks, men også en god diskussion af JavaBeans-komponentarkitekturen og for begyndere hvordan man bruger indekserede egenskaber fra JSP.

Kapitel 6 er, hvor bogen ser ud til at være mere fokuseret på Java-udvikleren snarere end webdesigneren. Det giver et kig på oprettelse af JavaBean-komponenter med JavaBean-hændelsesmodellen såvel som med bundne og begrænsede egenskaber. JDBC med JSP og forbindelse-pooling diskussion inkluderer også lidt ekstra som at bruge JNDI til at slå datakilden op. Der er endda et eksempel på at bruge en CachedRowSet for at sprede forespørgselsresultaterne på flere sider. Du får også en FAQ-databaseapplikation og instruktioner om, hvordan du implementerer den som en webapplikation med J2EE-implementeringsværktøjet.

Hvis det ikke er nok, dækker Fields og Kolb også udførelse af almindelige opgaver som cookiehåndtering, JSP-fejlhåndtering, afsendelse af e-mail med JavaMail API samt generering af XML. Der er også to kapitler om at arbejde med brugerdefinerede tagbiblioteker fra konstruktion til emballage og mange opgaver imellem. Bilagene inkluderer Tomcat installationsinstruktioner og hjælper dig med at integrere applets i JSP-sider. Det eneste, jeg fandt manglende i bogen, var en typisk JSP-baseret indkøbskurv.

Givet titlen på Core Servlets og JavaServer Pages, Jeg var ikke sikker på, om jeg skulle medtage det i anmeldelsen. Det er en god bog, men det er ikke den bedste til bare at lære om JavaServer-sider, især da JSP-dækning ikke begynder før i kapitel 10. Det er en fremragende bog for Java-udvikleren at lære om servlets, hvordan man bruger JSP-sider med servlets. , og hvordan man forbinder servlets til en JDBC-backend. Det er bare ikke for nogen, der er strengt interesseret i at lære om JavaServer-sider; derfor vurderede jeg det ikke som en JSP-læringsressource.

Når det er sagt, hvordan er JSP-dækningen? Forfatter Marty Hall giver tilstrækkelig JSP-dækning til Java-udvikleren, men bestemt ikke den dybde af dækning, der tilbydes i Web-udvikling. Du finder de typiske beskrivelser af scriptelementer, direktiver og JavaBeans support. Der er et anstændigt kapitel om oprettelse af et brugerdefineret JSP-tagbibliotek og et godt kapitel om integration af JSP-sider med servlets. Det er virkelig det til JSP-dækning. Resten af ​​bogen fokuserer mere på servlet-specifikt indhold. For eksempel er JDBC-eksemplerne rent servlet-drevet uden nogen diskussion af JDBC med JSP.

Appendikset tilbyder en hurtig reference, der er et kombination af syntaks-kort, delvis API-reference og certificeringseksamen undersøgelsesressource.

Havde bogen været tilgængelig, da jeg gennemgik servletbøger i "Java servletbøger: En komparativ anmeldelse", ville jeg have anbefalet den over Java Servlet Programmering af Jason Hunter, primært fordi den dækker den nyeste version af Servlets API.

Professionel JSP(4 stjerner)

Den sidste post i denne sammenlignende gennemgang af JSP-bøger kommer fra Wrox Press med hele 21 forskellige forfattere, inklusive mig selv. Kort sagt, Professionel JSP ser ud til at falde et eller andet sted under Web-udvikling og over Ren Java med hensyn til dybden af ​​JSP-dækningen. Mens der mangler en vis dybde, forsøger den at kompensere for det i bredden af ​​emner, der er omfattet, herunder WAP / WML, JMF og XML-parsing samt flere dybtgående casestudier. Derudover virker det med 21 forskellige forfattere, at der er mindst 21 forskellige runtime-miljøer, som giver dig mulighed for at eksperimentere med mange forskellige miljøer. Og du kan se 21 forskellige kodningsstile.

Bogen starter med den typiske introduktion til JavaServer-sider og en sammenligning med dynamiske indholdsteknologier, der er tilgængelige på Internettet. Efter introduktionen er der en oversigt over JSP-syntaks fra direktiver til handlinger og implicitte objekter. Intet er for detaljeret, og de implicitte objekter refererer bare til hvilket objekt fra Servlet API de repræsenterer, men ikke hvad du kan gøre med dem.

Kapitlet om JSP og JavaBeans bruger mere tid på at beskrive JavaBeans-specifikationen og nævner intet om de forskellige anvendelsesområder, når du bruger jsp: useBean tag. Det introducerer dog en JDBC-forbindelsespulje med en anden beskrevet mere detaljeret i det senere kapitel om JDBC-integration. Diskussionen af ​​servletsessioner og brugerdefinerede tagbiblioteker er tilstrækkelig. Der er endda et godt kapitel om fejlfinding af dine JSP-applikationer.