Avatar billede strato Nybegynder
07. marts 2002 - 14:09 Der er 7 kommentarer og
1 løsning

setAttribute servlet (session) problem

Hej,

jeg har skrevet en servlet og forsøger at gemme et object på flere forskellige HttpSessions. Desværre "fanger" de forskellige Sessions det samme objekt - som altså 'uheldigvis' knytter sig til servlet'en istedet for HttpSessionen ... Det virker hvis jeg "bare" gemmer en streng, men hvis jeg benytter min egen klasse (som ER Serializable ...) virker det ikke (se ovenfor) ...
Hvad gør jeg galt?
(se pseude-kode nedenfor)

public class myTest extends HttpServlet {
//...

... doGet( request, response ) {

  HttpSession session = request.getSession(true);
  if(session.isNew())
  myObjClass myObj = new myObjClass( params );
  else myObj =
      (myObjClass) session.getAttribute("myObj");

  // ... <form> [...] ny data til myObj </form>
}

... doPost(request, response) {
  HttpSession session = request.getSession(false);
  //.. construct myObj from request, i.e. :
  myObjClass newVal = request.getParameter("1") + //...
  session.setAttribute("myObj",newValue);
}

Avatar billede disky Nybegynder
07. marts 2002 - 14:59 #1
Ser ok ud.

Hvordan fremprovokerer du forskellige sessions ?

Du skal bruge f.eks. 3 forskellige browser vinduer for at have 3 sessions. (ved du sikker, men ville bare være sikker)
Avatar billede strato Nybegynder
07. marts 2002 - 15:12 #2
Ja, jeg kører det fra flere forskellige maskiner for at teste det ...
Avatar billede disky Nybegynder
07. marts 2002 - 17:23 #3
Kan du maile koden til mig så skal jeg kigge på det.

disky@hotmail.com
Avatar billede strato Nybegynder
11. marts 2002 - 20:54 #4
Jeg fandt fejlen: Det er "ret" dumt at erklære felter udenfor doPost og doGet metoder såfremt de skal gemmes på et HttpSession ID ...
Men tak for den "hjælpende" interesse!
Avatar billede disky Nybegynder
11. marts 2002 - 20:55 #5
hehe :)
Avatar billede disky Nybegynder
11. marts 2002 - 20:56 #6
jeg takker og bukker
Avatar billede razor Nybegynder
19. marts 2002 - 13:22 #7
strato, du bør nok overveje dine pointsatser en ekstra gang for du oprette nye spørgsmål. 60 points er nok til et svært spørgsmål.
Avatar billede fet321 Nybegynder
19. marts 2002 - 15:38 #8
Hvad er der givet point for her???
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester