Introduksjon til kurset

Dette er et kurs i utvikling av web-applikasjoner med JSP og JSF.

Dette kurset het tidligere Web-applikasjoner med JavaEE. Og det er derfra vi tar det nå:

Hva er Java EE? ”Java Platform, Enterprise Edition (Java EE) is the industry standard for developing portable, robust, scalable and secure server-side Java applications. Building on the solid foundation of Java SE, Java EE provides web services, component model, management, and communications APIs that make it the industry standard for implementing enterprise class service-oriented architecture (SOA) and Web 2.0 applications.” (http://java.sun.com/javaee/)

En del av Java EE handler om å lage dynamiske websider ved å programmere på tjenersiden. Dynamikken i websider framkommer ved at et program på tjenersiden genererer HTML-kodene fortløpende avhengig av f.eks. datainnhold som hentes fra en database.

Tre av teknologiene i Java EE er sentrale i forbindelse med web-utvikling:

·       Java Servlets: Servlets ble introdusert i 1998, og det var den første muligheten til å programmere webtjenere i Java. Et API gav deg det du trengte for å håndtere kontakten med web-tjeneren. HTML-koden ble laget ved println()-setninger, eksempel: out.println(”<h1>Overskrift<h2>”); I praksis blir skillet mellom presentasjon og kontroll minimal, om i det hele tatt eksisterende.

·       Java Server Pages (JSP): Å programmere servlet-klasser er relativt omfattende. JSP er et scriptspråk som gir deg muligheten til å forholde deg til websider i stedet for til Java-klasser.  Dette gjør det enklere å være web-utvikler. JSP-kontaineren oversetter JSP-koden til servlet-klasser. Da JSP kom, ble det annonsert som løsningen på den altfor tette koplingen mellom presentasjon og kontroll som servlets medførte. Det het seg at det var fullt mulig å lage JSP’er uten å kunne programmere. I praksis viste det seg at dette nok var en overdrivelse, selv om muligheten til å definere egne tags og et eget språk (expression language, EL) gjør det enklere. JSP stiller store krav til utviklernes kompetanse for å lage oversiktlige og ryddige løsninger. Som du sannsynligvis vil erfare i øving 4, selv små oppgaver kan raskt gi uoversiktlig kode. Les om JSP i de fire første leksjonene i dette kurset, leksjon 1 og 2 er fritt tilgjengelig.

·       Java Server Faces (JSF): JSF ble først nevnt på JavaOne i 2002. JSF er komponentbasert, og lovnadene er de samme som da JSP kom: Ikke-programmerere skal kunne lage presentasjonene. Vi er helt sikkert kommet nærmere dette målet. JSF skjuler veldig mye av det som gjør JSP komplisert og uoversiktlig. Også her ligger servlets i bunnen. JSF tilbyr et rikt sett med ferdige GUI-komponenter, slik at vi kan si at vi programmerer ”Swing på tjenersiden”. GUI-komponentene er ferdige til bruk, og vi legger inn hendelseshåndtering på tilsvarende måte som ved GUI-programmering i selvstendige Java-applikasjoner.

Første del av dette kurset består av fire leksjoner der du skal lære det mest grunnleggende i JSP. Dette skal gi deg en forståelse av den kompliserte prosessen som tilsynelatende enkle operasjoner på Internett innebærer. Du vil lære å håndtere datainput fra skjema og lagre tilstandsinformasjon både på klientsiden (cookies) og på tjenersiden (sesjoner).

Når du i neste omgang skal arbeide med JSF vil du oppdage at mye av denne kompliserte prosessen er skjult. Til gjengjeld må du forholde deg til applikasjoner som, uten unntak, består av flere filer med ulike innstillinger og konfigurasjoner. Dette er med på å sikre en ryddig utviklingsprosess der model, view og controller (MVC) er godt atskilte deler. Grunnlaget du har skaffet deg fra første del av kurset gjør at du i tillegg har en dypere forståelse av hva som skjer under overflaten.