Когда вы используете тэг jsp: forward, он пересылает запрос по адресу, указанному тегом. Фактически вы отправляете объект запроса.
Когда вы используете метод sendRedirect() объекта , вы просто отправляете абсолютный URL-адрес обратно в веб-браузер клиента. Другими словами, ответ становится перенаправлением на заданный URL-адрес, который затем вызывает браузер браузера.
Если данные являются частью запроса, он утерян; поэтому, если вы пытаетесь перенаправить, прежде чем устанавливать атрибут имени пользователя сеанса, это произойдет.
Если вы действительно потеряете сеанс, это может указывать на несколько вещей: 1) Если новый URL-адрес не находится в том же домене, cookie не будет отправлен. 2) Если новый URL-адрес находится за пределами пути к файлу cookie, cookie не будет отправлен. 3) Браузер не установлен, чтобы разрешить использование файлов cookie. Для этого вам пришлось бы кодировать URL-адреса, когда вы использовали jsp: forward, поэтому я был бы удивлен, если это так.
В любом из этих случаев будет создан новый сеанс, и будет создан новый файл cookie с указанием пути к новому домену и URL-адресу.
В разное время, которое я разделяю, как атрибут сеанса, имя пользователя. Когда я просто пересылаю страницу, она отображается как обычно, но когда я перенаправляюсь, я получаю «нуль» как имя ... Однако, используя работу с корзиной покупок, я знаю, что новый сеанс установлен; Я попробую вашу рекомендацию и посмотрю, решены ли мои проблемы! –
И это сработало? –