@RequestMapping(method = RequestMethod.GET)
    protected ModelAndView handleHomePageRequest(
            HttpServletRequest request, HttpServletResponse response) {
        HttpSession currentSession = request.getSession();
        User verifiedUserInSession =
                (User) currentSession.getAttribute(
                GraduatesSessionAttributes.ATTRI_USER);
        
        if (verifiedUserInSession != null) {
            homeModelAndView.addObject(ATTRI_USER_BEAN, verifiedUserInSession);
            return homeModelAndView;
        }
        
        String username = getCookieValueByName(request, COOKIE_USERNAME);
        String password = getCookieValueByName(request, COOKIE_PASSWORD);
        boolean cookieIncomplete = username == null || password == null;
        if (cookieIncomplete) {
            return registerModelAndView;
        }
        
        try {
            User verifiedUser = userAccountService.verify(username, password);
            boolean verified = (verifiedUser != null);
            if (!verified) {
                removeCookieByName(response, COOKIE_USERNAME);
                removeCookieByName(response, COOKIE_PASSWORD);
                return loginModelAndView;
            }

            long userId = verifiedUser.getId();
            homeModelAndView.addObject(ATTRI_USER_BEAN, verifiedUser);
            addWordsBean(homeModelAndView, userId);
            return homeModelAndView;
        } catch (DataAccessException ex) {
            logger.log(Level.SEVERE, ex.getMessage(), ex);
            return homeModelAndView;
        }
    }