Я надеюсь, что вы, ребята, сможете помочь мне разобраться в кейсе в методе сервлетов doGet.
например, у нас есть класс User с именем и фамилией, конечно же, установлены геттеры и сеттеры. Дополнительные фрагменты информации есть в комментариях в коде. Вопрос в том, какова цель SetAttribute в этом случае? Должен ли я использовать это? Я не вижу разницы, когда он включен и выключен. Заранее благодарим вас за быстрый ответ.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//here I initiate servlet to create a session yes?
HttpSession session = request.getSession(true);
// here im getting atribiute which is goinna be null now:
User user = (User) session.getAttribute("user");
//now in case of null i want to create object which can have null atributes like name and lastname:
if(user == null) {
user = createUser(request);
//here is my problem, i dont know what is it for? I already get atrributes, why would i want to set object again? to what?
session.setAttribute("user", user);
}
returnInfo(response,user);
}
protected User createUser(HttpServletRequest request) {
User user = new User();
String name = request.getParameter("name");
String lastname = request.getParameter("lastname");
user.setName(name);
user.setSurname(lastname);
return user;
}
protected void returnInfo(HttpServletResponse response,User user) throws IOException {
PrintWriter write = response.getWriter();
write.println("<html>");
write.println("<body>");
write.println("<div>");
if(user.getName() == null && user.getSurname() == null) {
write.println("no person was added");
}
else{
write.println("person is" + " " + user.getName() + " " + user.getSurname());
}
write.println("</div>");
write.println("</body>");
write.println("</html>");
}