21.07.2013 Views

Kap 16_Java for Web.pdf - Akademika forlag

Kap 16_Java for Web.pdf - Akademika forlag

Kap 16_Java for Web.pdf - Akademika forlag

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Java</strong> <strong>for</strong> <strong>Web</strong>.book Page 312 Tuesday, September 24, 2002 6:07 PM<br />

<strong>Kap</strong>ittel <strong>16</strong><br />

312<br />

valider_logginn-metoden. Valider_logginn (<strong>for</strong>klart i et senere avsnitt) returnerer en<br />

sannhetsverdi. Hvis denne verdien er "true" er innloggingsskjemaet gyldig og hovedsiden<br />

vises (vis_hovedside se figur <strong>16</strong>.4). Hvis sannhetsverdien derimot er "false", returneres<br />

en in<strong>for</strong>masjonsside som in<strong>for</strong>merer om at innloggingen ikke var vellykket<br />

(vis_beskjed).<br />

Strukturen på den resterende delen av service-metoden likner på strukturen i<br />

doPost-metoden i case-studie 1. Hver side i applikasjonen har navigeringsknapper.<br />

Service-metoden detekterer hvilke knapper som er benyttet av brukeren og benytter<br />

denne in<strong>for</strong>masjonen sammen med navigeringshierarkiet til å kalle de rette metodene.<br />

For eksempel inneholder hovedsiden (se figur <strong>16</strong>.4), som presenteres når brukeren logger<br />

seg inn, knapper <strong>for</strong> vareutvalg og handlekurv. Hvis brukeren trykker på knappen<br />

vareutvalg vil service-metoden detektere tilstedeværelsen av <strong>for</strong>espørselsstrengen "vareutvalg",<br />

og kalle metoden vis_varer som frembringer vareutvalgsiden (se figur <strong>16</strong>.5).<br />

Hvis brukeren derimot trykker på handlekurvknappen detekterer service <strong>for</strong>espørselstrengen<br />

"handlekurv", og kaller metoden vis_handlekurv som frembringer handlekurvsiden<br />

(se figur <strong>16</strong>.6).<br />

Videre, hvis brukeren trykker på en utloggingsknapp, detekterer service-metoden<br />

<strong>for</strong>espørselstrengen "loggut" og kaller invalidate på seanseobjektet etterfulgt av<br />

vis_beskjed-metoden. Vis_beskjed returnerer en in<strong>for</strong>masjonsside til brukeren med<br />

beskjed om at vedkommende er logget ut av systemet (se figur <strong>16</strong>.10). Invalidate deaktiverer<br />

seanseobjektet, slik at en ny <strong>for</strong>espørsel fra samme klient håndteres som en helt<br />

ny seanse.<br />

public void service(HttpServletRequest spørsmål,<br />

HttpServletResponse svar)<br />

throws IOException<br />

{<br />

svar.setContentType("text/html");<br />

PrintWriter ut = svar.getWriter();<br />

HttpSession s = spørsmål.getSession(true);<br />

if (s.isNew())<br />

{<br />

logginn_skjerm(ut);<br />

}<br />

else if (spørsmål.getParameter("validerlogginn")!= null)<br />

{<br />

if (valider_logginn(spørsmål))<br />

{<br />

vis_hovedside(spørsmål,ut);<br />

}<br />

else<br />

{<br />

beskjed_side(ut,"Mislykket logginn");<br />

}<br />

}<br />

else if (spørsmål.getParameter("nykunde") != null)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!