Kap 16_Java for Web.pdf - Akademika forlag
Kap 16_Java for Web.pdf - Akademika forlag
Kap 16_Java for Web.pdf - Akademika forlag
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)