#jsp #servlets
#jsp #сервлеты
Вопрос:
У меня есть сервлет, который называется «LoginServlet», index.jsp, который имеет форму входа (имя пользователя и пароль). Я отправил запрос в LoginServlet и использовал:
getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
Чтобы вернуться к index.jsp с именем пользователя и пользовательской информацией (для отображения приветствия XXX в правом верхнем углу экрана). Проблема в том, что я не могу использовать $ {RequestScope.userName} для извлечения имени пользователя. Имя пользователя просто не существует в запросе. Однако, когда я отправил на другую страницу jsp, она получила запрос с новой информацией, и я смог ее восстановить.
Я хочу знать, есть ли способ перенаправить на ту же страницу, на которую отправляется запрос? Я просто не могу получить данные, отправленные с сервлета на ту же страницу, т. Е. для входа пользователя в систему
Комментарии:
1. Очевидно, у вас уже есть ответ. В чем теперь вопрос?
2. Я хочу знать, есть ли способ перенаправить на ту же страницу, на которую отправляется запрос. Я просто не могу получить данные, отправленные с сервлета на ту же страницу, т. Е. для входа пользователя в систему.
3. Ах да, это был вопрос (пожалуйста, добавьте его в свой пост в ясном и кратком предложении с «?» в конце, которое подводит итог конкретной проблеме). Что касается конкретной проблемы, вы рассмотрели область действия сеанса? Обычно пользователь, вошедший в систему, сохраняется
User
в области сеанса, поскольку это используется для проверки, вошел ли в систему какой-либо пользователь или нет (чтобы вы могли заблокировать или разрешить доступ в классе Filter).4. Ну, это просто пример. Мне требуется использовать RequestScope для передачи данных, а не просто для входа в систему, чтобы минимизировать нагрузку, за исключением таких вещей, как корзина покупок.