|
Модераторы: LSD, AntonSaburov |
|
Tsyklop |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.4.2016 Репутация: нет Всего: нет |
Не меняется URL после переадресации на страницу dispatcher-ом с сервлета.
Есть страница авторизации(index.jsp - стартовая страница), есть страница куда попадают юзеры после успешной авторизацииB. Есть сервлет Auth, в котором происходит авторизация. Используется метод Post. Сервлет обращается к классу который производит подключение к бд и проверяет есть ли такой юзер(проверяет логин и пароль тоже) и возвращает ture или false. Если он вернёт false то на главной странице в форме авторизации появится текст ошибки. По этой причине мне приходится использовать Dispatcher. Если возвращается ошибка да и если успешная авторизация URL не меняется. Он он так и остаётся "/Auth". Вопрос как решать данную проблему? sendRedirect мне не подходит ибо мне нужно выводить сообщение об ошибке если такова будет. А так sendRedirect изменяет ссылку. Как выйти с этого положения? Это сообщение отредактировал(а) Tsyklop - 26.4.2016, 15:08 |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 5 Всего: 537 |
Если ты хочешь перенаправить пользователя на новый URL и показать ему сообщение об ошибке, то у тебя 2 варианта:
1. Показать сообщение об ошибке, а потом сделать редирект JS-ом. 2. Сделать редирект и сообщение об ошибке уже показать на новом URL. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Tsyklop |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.4.2016 Репутация: нет Всего: нет |
JS имеется в виду JSP. Не влезло. 2. коим образом это сделать? Если делать Редирект то сообщение не выводится.. |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 5 Всего: 537 |
JS - JavaScript. Редирект же идет на некий URL. Вот в обработчике этого URL и надо показать сообщение. Тут скорее вопрос как передать информацию об ошибке, тут есть варианты: 1. Через GET параметры. 2. Через сессию. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Tsyklop |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.4.2016 Репутация: нет Всего: нет |
В названии темы написано JS - это JSP. Не полностью влезло название. Можно попробовать через сессию это делать. Хотя GET запрос тоже не плохо, но коим образом? Если сообщение об ошибке это ответ фильтра. Делать редирект на url /index?status=incorrect так к примеру? Это сообщение отредактировал(а) Tsyklop - 28.4.2016, 11:08 |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 5 Всего: 537 |
Да хоть JSF. Это не мешает тебе сгенерировать страничку с JavaScript-ом который будет делать редирект через n секунд. Да. Если сообщение об ошибке стандартное, то просто тип этой ошибки передавать error=invalid_user. Если сообщение уникально, то передавать некий флаг что ошибка есть и дальше искать в сессии. Если нет сессии, то передавать некий ID по которому искать в "хранилище ошибок". Тут еще придется следить за этим хранилищем и чистить его периодически. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |