SetAttribute сервлета JavaEE для чего

Я надеюсь, что вы, ребята, сможете помочь мне разобраться в методе сервлета 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>");
}
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
369
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы только что создали нового пользователя. Он должен быть добавлен в сеанс, иначе ваш атрибут пользователя всегда будет нулевым.

но когда я вставляю атрибут localhost: 8080 / MyServlet? firstname = a & lastname = b, он будет печатать в html a и b, так как атрибут будет нулевым?

Dark Furby 07.09.2018 19:59

Другие вопросы по теме