Pozdrav!
Izvinjavam se sto nisam ranije odgovorio imao sam problema sa netom.
E, probao sam u dva browsera i radi

.
@del-boy Nisam stavio u application scope vec u session
@MMX bio su u pravu, radio sam sa tabovima u firefox-u i tako ne radi, medjutim probao sam i sa tabovima u exploreru i ni tamo ne radi. Ali kada sam probao odvojeno u firefox-u i explorer-u radi super.
Zanima me da li je to u redu ili nije?
Ima dosta koda, pa cu pokusati najbitnije da izdvojim...
Prvo imam pocetno stranicu koja prikazuje spisak svih oglasa u bazi podataka, za prikaz ove stranice mi je zaduzen "WelcomeServlet"
Code:
// inicijalizovanje ulazno-izlaznih tokova za komunikaciju sa serverom (java aplikacija sa kojom se komunicira preko porta 9000)
Socket sock=new.....
ObjectOutputStream out=new.....
ObjectInputStream in=new.....
// neki deo koda ovde
// slanje zahteva serveru da posalje listu oglasa iz baze podataka
// primanje liste oglasa
// stavljanje u sesiju
request.getSession().setAttribute("adsList", adsList);
request.getSession().setAttribute("connectOk", connectOk); // connectOK je boolean indikator da li je konekcija sa serverom ostvarena
request.getSession().setAttribute("input", input);
request.getSession().setAttribute("output", output);
// redirekcija
response.sendRedirect(response.encodeURL("basic.jsp"));
Sada sam redirektovan na stranicu basic.jsp iz koje citam connectOk i adsList iz sesije iz kreiram html stranicu.
Na njoj se nalaze linkovi za registraciju korisnika i logovanje korisnika (RegisterServlet i CheckLoginServlet respektivno).
Ako neko zeli da se registruje pokrece se RegisterServlet
Code:
// preuzimanje parametara za registraciju sa forme
// neki deo koda ovde
// preuzimanje ulazno-izlaznih tokova iz sesije (prethodno inicijalizovanih u WelcomeServlet-u)
ObjectOutputStream output=(ObjectOutputStream)request.getSession().getAttribute("output");
ObjectInputStream input=(ObjectInputStream)request.getSession().getAttribute("input");
// slanje zahteva serveru da proveri validnost podataka
// ukoliko su podaci validni vrsi se redirekcija
response.sendRedirect(response.encodeURL("registerSuccess.html"));
// ukoliko nisu validni...... neki deo koda ovde
Stranica registerSuccess.html obavestava korisnika da se uspesno registrovao i da sada ide na login stranicu
Znaci imam link na pocetno stranicu i na stranicu za logovanje (kada se klikne na pocetnu stranicu ide se na WelcomeServlet a kada se klikne na stranicu za logovanje ide se na login.jsp)
Ukoliko se ide na stranicu za logovanje "login.jsp" (CheckLoginServlet)
Code:
// preuzimanje ulazno-izlaznih tokova iz sesije
ObjectOutputStream output=(ObjectOutputStream)request.getSession().getAttribute("output");
ObjectInputStream input=(ObjectInputStream)request.getSession().getAttribute("input");
// slanje zahteva serveru da proveri validnost username-a i password-a
// citanje odgovora servera
// ako su podaci validni redirekcija na user.jsp
// ako podaci nisu validni redirekcija ponovo na login.jsp
LogoutServlet - servlet za izlogovanje
Code:
// brisem sve iz sesije i zatvaram ulazno-izlazne tokove sa serverom....
Da li je ovo ok?
I da, jos jedno pitanje da li mogu iz jednog servleta da se redirektujem na drugi servlet? Odnosno, znam da moze al da li je to ok?