Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package controller;
- import model.CounterBean;
- import model.DbManager;
- import model.UtenteBean;
- import sun.rmi.server.Dispatcher;
- import java.io.IOException;
- import javax.servlet.RequestDispatcher;
- import javax.servlet.ServletContext;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.*;
- @WebServlet(name="Login")
- public class Login extends HttpServlet {
- private static final long serialVersionUID = 1L;
- // questo counter รจ visibile solo in questa servlet
- // e conta il numero di accessi totale da parte di chiunque accede a questa servlet
- // da quando viene deployed sul server
- private int servletCount;
- public void init() throws ServletException {
- // inizializzazione
- servletCount = 0;
- }
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- UtenteBean utente = new UtenteBean();
- utente = loginIsPresent(request,utente);
- if(utente == null){
- response.sendRedirect("login.jsp");
- }
- else{
- utente = retrieveUserData(utente);
- if(utente == null)
- {
- request.setAttribute("denied", true);
- RequestDispatcher requestDispatcher = request.getRequestDispatcher("login.jsp");
- requestDispatcher.forward(request, response);
- }
- else{
- Cookie[] cookies = new Cookie[2];
- cookies[0] = new Cookie("username",utente.getUsername());
- cookies[1] = new Cookie("password",utente.getPassword());
- response.addCookie(cookies[0]);
- response.addCookie(cookies[1]);
- RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp");
- dispatcher.forward(request,response);
- }
- }
- }
- private UtenteBean loginIsPresent(HttpServletRequest request, UtenteBean utente) {
- utente = checkCookiesCredentials(request,utente);
- if(utente == null)
- {
- utente = checkParametersCredentials(request,utente);
- }
- return utente;
- }
- private UtenteBean checkCookiesCredentials(HttpServletRequest request,UtenteBean utenteBean){
- Cookie[] cookies = request.getCookies();
- if(cookies != null){
- for (int i = 0; i < cookies.length; i++) {
- Cookie c = cookies[i];
- if(c.getName().equals("username")) utenteBean.setUsername(c.getValue());
- if(c.getName().equals("password")) utenteBean.setPassword(c.getValue());
- }
- }
- System.out.println(utenteBean);
- return utenteBean;
- }
- private UtenteBean checkParametersCredentials(HttpServletRequest request, UtenteBean utenteBean){
- utenteBean.setUsername(request.getParameter("username"));
- utenteBean.setPassword(request.getParameter("password"));
- return utenteBean;
- }
- private UtenteBean retrieveUserData(UtenteBean utenteBean){
- DbManager db = new DbManager();
- return db.userLogin(utenteBean);
- }
- private CounterBean updateCounters(HttpServletRequest request) {
- servletCount++; // aggiornamento livello di scoping -> servlet
- Integer sessionCount; // livello di scoping -> session
- Integer applicationCount; // livello di scoping -> application (servletContext)
- HttpSession session=request.getSession(); // lettura ed aggiornamento -> session
- sessionCount = (Integer)session.getAttribute("counter");
- if (sessionCount != null)
- sessionCount++;
- else
- sessionCount = 1;
- session.setAttribute("counter", sessionCount);
- ServletContext application = getServletContext(); // lettura ed aggiornamento -> application
- applicationCount = (Integer)application.getAttribute("counter");
- if (applicationCount != null)
- applicationCount++;
- else
- applicationCount = 1;
- application.setAttribute("counter", applicationCount);
- CounterBean cb = new CounterBean(servletCount, sessionCount, applicationCount);
- return cb;
- }
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doGet(request, response);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement