[ bantes9 @ 05.07.2014. 21:09 ] @
Trebala bi mi mala pomoc oko .jsp, servleta i bean-ova. Imam index.jsp stranicu gde postoji login forma. Nakon uspesnog logovanja u zavisnosti od privilegija otvara se jedna od 3 predefinisane .jsp stranice (admin, korisnik nivoa 1, korisnik nivoa 2) u okviru kojih je ispisan username korisnika (admin mora odobriti svaku registraciju i zato postoji provera za status aktivan). Login servlet Code: public class Logovanje extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String username = request.getParameter("korisnickoIme"); String password = request.getParameter("sifra"); Korisnik korisnik = new Korisnik(); korisnik.setKorisnickoime(username); korisnik.setLozinka(password); try { HttpSession sesija = request.getSession(true); Class.forName("com.mysql.jdbc.Driver"); Connection konekcija = DriverManager.getConnection("jdbc:mysql://localhost:3306/laboratorija","root",""); Statement iskaz = konekcija.createStatement(); if( !(username.equals("")) && !(password.equals("")) ){ String upit = "SELECT * FROM korisnici WHERE korisnickoime='"+username+"' AND lozinka='"+password+"'"; ResultSet rezultat = iskaz.executeQuery(upit); if(rezultat.next()){ String korisnickoime = rezultat.getString(2); int privilegija = rezultat.getInt(9); int aktiviran = rezultat.getInt(10); korisnik.setKorisnickoime(korisnickoime); korisnik.setPrivilegija(privilegija); korisnik.setAktiviran(aktiviran); sesija.setAttribute("korisnik", korisnik); if(privilegija==1 && aktiviran==1){ RequestDispatcher r = request.getRequestDispatcher("/admin.jsp"); r.forward(request, response); } else if(privilegija ==2 && aktiviran==1){ RequestDispatcher rd = request.getRequestDispatcher("/korisniknivoa1.jsp"); rd.forward(request, response); } else if(privilegija ==3 && aktiviran==1){ RequestDispatcher rd = request.getRequestDispatcher("/korisniknivoa2.jsp"); rd.forward(request, response); } else if(privilegija ==4){ sesija.setAttribute("poruka", "Niste aktivirani od strane administratora i nije vam dodeljena privilegija za rad u aplikaciji"); RequestDispatcher rd = request.getRequestDispatcher("/greska.jsp"); rd.forward(request, response); } else { sesija.setAttribute("poruka", "Niste aktivirani u sistemu od strane administratora"); RequestDispatcher rd = request.getRequestDispatcher("/greska.jsp"); rd.forward(request, response); } } else { sesija.setAttribute("poruka", "Uneli ste neispravno korisničko ime ili lozinku"); RequestDispatcher rd = request.getRequestDispatcher("/greska.jsp"); rd.forward(request, response); } } else { sesija.setAttribute("poruka", "Niste uneli korisničko ime i lozinku"); RequestDispatcher rd = request.getRequestDispatcher("/greska.jsp"); rd.forward(request, response); } }catch(Exception e){ out.println(e);} } } Bean Korisnik (izdvojene bitne stavke) Code: public class Korisnik { ; private String korisnickoime; private int privilegija; private int aktiviran; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getKorisnickoime() { return korisnickoime; } public void setKorisnickoime(String korisnickoime) { this.korisnickoime = korisnickoime; } public int getPrivilegija() { return privilegija; } public void setPrivilegija(int privilegija) { this.privilegija = privilegija; } public int getAktiviran() { return aktiviran; } public void setAktiviran(int aktiviran) { this.aktiviran = aktiviran; } } Ukoliko je uspesno logovanje otvara se korisnik.jsp stranica u okviru koje koristeci JSP EL ispiujem username korisnika. Code: div id="gornjiMeni">Dobrodošli, ${korisnik.korisnickoime} | <a href="Izloguj">Izloguj se</a></div> Korisnik na stranici ima formu gde unosi kriterijume za pretragu baze proizvoda. Kako da iz korisnik.jsp stranice i ${korisnik.korisnickoime} izvucem korisnicko ime koje bi u servletu Pretraga iskoristio za upit nad bazom (na osnovu username-a u tabeli baze dobijam informaciju o privilegijama i u skladu sa tim se ispisuju rezultati). Kada u kodu servleta "Pretraga" rucno unesem username korisnika u upit, dobijam uredno rezultate, tako da je sve u redu osim pribavljanja korisnickog imena iz korisnik.jsp stranice. Probao sam par varijanti za dobijanje vrednosti ali bezuspesno. Jedna od njih je: Code: HttpSession sesija = request.getSession(true); Korisnik korisnik = (Korisnik)sesija.getAttribute("korisnickoime"); Hvala unapred na pomoci. |