Gå til innhold

Lage funksjon i servlet i java


Anbefalte innlegg

Skrevet (endret)

Er det mulig å lage små funksjoner utenom doGet og doPost i servlets i java?

 

F.eks, hvis jeg bruker samme koden om igjen flere ganger, så kan jeg heller lage en liten funksjon som jeg kan kalle opp.

 

F.eks

 

if (innlogging == mislykket){

loginFailure();

}

 

der loginFailure er en funksjon som setter sessions osv som er relatert til den feilaktige innloggingen.

Endret av Naitsan
Videoannonse
Annonse
Skrevet

Husk på at webserveren bare lager en instans av hver servlet.

 

Ikke legg f.eks session objektet i servlet klassen, men send det med som parameter til de egenlagde metodene! :)

Skrevet

Takk for svar!

 

Jeg er dessverre ikke så skarp i java enda at at jeg selv klarer å gjenskape koden fra idéen din.

 

Kunne du hatt skrevet ett kjapt eksempel?

  • 2 uker senere...
Skrevet

Hva må jeg gjøre for at jeg kan bruke en variabel satt i f.eks funksjonen userOk i en annen funksjon? Går dette?

 

 

f.eks.. utsnitt av koden (koden ligger i linkene over) + det jeg ønsker å få til:

 

public boolean userOk(HttpServletRequest request, HttpServletResponse response) {
.... eksisterende kode...
String strTekst = "dette er en tekst"
}

 

Og så ønsker jeg å lese variabelen strTekst i en annen funksjon. Jeg har prøvd men jeg får feilmeldingen "strTekst cannot be resolved" i Eclipse.

 

What to do?

Skrevet (endret)

Legg variabelen i session.

 

int cnt = 1;
session.putValue("accessCount", cnt);
int oldcnt = (int)session.getValue("accessCount");

 

For all del, ikke legg det i servlet-klassen, den blir bare instansiert en gang og er felles for alle brukerene!

Endret av blackbrrd
Skrevet

Ja jeg tenkte at man kunne kanskje legge det i session for å så requeste det igjen. Men så tenkte jeg at dette måtte være en treg og upraktisk metode.

 

Men hvis det er sånn det gjøres så får man bare gjøre det.

 

Men du sier at man ikke burde lage sessions i servlet-klassen... mener du at man burde kun lage sessions i selve .jsp filene?

Skrevet

Jeg mener at du ikke skal ha variabler i Servlet-klassen din, de vil isåfall bli delt av alle som bruker Servleten.

 

Treg? Tvilsomt

Upraktisk? Helt enig

 

Firmaet jeg jobber i har gått over til EJB3/JSF/Seam

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...