Это все зависит от вас.Лично я поместил туда Javabean, представляющий сущность User
, чтобы у меня был мгновенный доступ ко всем ее свойствам, и я обычно делаю это в сервлете.
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userDAO.find(username, password);
if (user != null) {
request.getSession().setAttribute("user", user);
response.sendRedirect("userhome");
} else {
request.setAttribute("message", "Unknown login, try again");
request.getRequestDispatcher("/WEB-INF/login.jsp").forward(request, response);
}
}
Есть только несколько вещей, которыевыглядит странно / небезопасно:
<%if(session.getAttribute("username") == null){%>
Почему эта проверка?Разве пользователь не может повторно войти в систему как другой пользователь?Для этого лучше использовать Filter
.
ResultSet resultat = stat1.executeQuery("select * from utilisateur where username ='"+ Username +"' and password = '"+Password+"'");
Это дыра SQL-инъекция .Читайте о атаках с использованием SQL-инъекций и подготовленные операторы .
Наконец, я пропускаю блок finally
, в котором вы правильно закрываете ресурсы JDBC, чтобы предотвратить их утечкучто может привести к сбою приложения в долгосрочной перспективе, когда в БД заканчиваются все ресурсы.