Java EE для начинающих. Урок 8: Сессия (Session).

preview_player
Показать описание

Рекомендации по теме
Комментарии
Автор

Cпасибо за курс! Вселенная тебя не забудет))

denystaylor
Автор

14:10 alt+ insert клавиши для создания get-еров и set-теров в Интелиджи

Mariam_PinkLotus
Автор

12:05. Чтобы не отображалась единица два раза подряд, в условии else в setAttribute можно прописать аргументом "++count".

skanta
Автор

Всем привет, если у вас непонятные буквы вместо русских символов, то напишите вот это:


PrintWriter printWriter = response.getWriter();

и дальше <html>остальной код</html>

olegkhilko
Автор

Большое спасибо за курс! Все просто и понятно. Жду продолжения!

ВадимВалунский
Автор

Спасибо за материал. Буду знать как работать с сессией.

Касательно логики со счётчиком. Если уж мы используем отдельную переменную как посредника, то правильно только с ней и работать:
-Чтение переменной
-Операции с ней
-Запись результата
-Вывод

Integer count = (Integer)
if (count == null) count = 1;
else count++;
session.setAttribute("count", count);
...
pw.println(...+count+...);

satilast
Автор

Спасибо за курс, сильно помог в понимании)

АлександрГромов-гч
Автор

Добрый день. Я тоже смотрю Ваши уроки, но и не только Ваши, так сказать взгляд на одну тему с разных сторон, у каждого автора свои подходы. Но вот насколько хорошо и важно, нужно разбираться в Java EE, севлетах и JSP, для того что бы перейти потом на Spring.

imants_pr
Автор

метод getServletContext - почему используем его вместо Dispatcher объекта? Что это за метод?

nikita-shamrai
Автор

используйте в else {
count += 1;
session.setAttribute("count", count);
}
тогда, всё будет работать

ДенисВолков-эб
Автор

при компиляции jsp файла на строке getName, при этом в сервлете все работает, я так понимаю он(jsp) сессию из сервлета не видит, может кто подскажет

denned
Автор

if (count == null) {
count = 1;
} else {
count++;
}

session.setAttribute("count", count);

Алексей-шыг
Автор

А этот баг с единицей разве не решиться, если "count + 1" заменить на "++ count"?

curtisaxel
Автор

Я долго пытался разобраться, почему выскакивает NullPointerException. Поясняю, при redirect логика выполнения перекладывается на новую сущность, в нашем случае .jsp, а в нём, мы пытаемся получить атрибут у пустой сессии (я так понял session в .jsp что-то типа абстрактной переменной, мы можем работать как с проинициализированной сессией, так и с пустой). При forward, логика, заложенная в сервлете, выполняется тоже и мы спокойно можем работать с сессией.

hrothnar
Автор

пример про корзину можно и без сессии сделать, имхо только запутывает использование сессии тут

aleksandrkravtsov
Автор

Привет!
Вопрос по второму примеру, есть ли необходимость параметры перезаписывать в существующий Cart, если он не равен null, т.е. добавить все-таки else? Скорее всего этого делать не нужно, так как содержание корзины (сессии) не меняется так часто. Этот вопрос возник, когда в запросе решил поменять name и quantity.

МаксимПопов-бю
Автор

Наиль привет, а почему count не примитив int?, тогда бы не нужен был этот фокус с проверкой на null.

phil
Автор

выдает NullPointerExce[ption: Cannot invoke "somePackage.Cart.getName()" because "cart" is null

clarity
Автор

Не очень понятен метод getAttribute("cart") в строке:

Cart cart = (Cart) session.getAttribute("cart");

что он делает? Я так понял с помощью этого метода мы берем из объекта session атрибут "cart", но откуда он там взялся не понятно?

Stasful
Автор

Не подскажете, почему нельзя использовать метод isNew() на сессии вместо проверки атрибута сессии на нулл?

МарияЧернявская-яь