Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение URL после переадресации Dispatcher-ом JS, переадресация  
:(
    Опции темы
Tsyklop
Дата 26.4.2016, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
LSD
Дата 27.4.2016, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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.
PM MAIL WWW   Вверх
Tsyklop
Дата 27.4.2016, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.4.2016

Репутация: нет
Всего: нет



Цитата(LSD @ 27.4.2016,  11:41)
Если ты хочешь перенаправить пользователя на новый URL и показать ему сообщение об ошибке, то у тебя 2 варианта:
1. Показать сообщение об ошибке, а потом сделать редирект JS-ом.
2. Сделать редирект и сообщение об ошибке уже показать на новом URL.

JS имеется в виду JSP. Не влезло.

2. коим образом это сделать? Если делать Редирект то сообщение не выводится..
PM MAIL   Вверх
LSD
Дата 27.4.2016, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 5
Всего: 537



Цитата(Tsyklop @  27.4.2016,  13:02 Найти цитируемый пост)
JS имеется в виду JSP. Не влезло.

JS  - JavaScript.


Цитата(Tsyklop @  27.4.2016,  13:02 Найти цитируемый пост)
коим образом это сделать?

Редирект же идет на некий 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.
PM MAIL WWW   Вверх
Tsyklop
Дата 28.4.2016, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.4.2016

Репутация: нет
Всего: нет



Цитата(LSD @ 27.4.2016,  12:42)

Редирект же идет на некий URL. Вот в обработчике этого URL и надо показать сообщение. Тут скорее вопрос как передать информацию об ошибке, тут есть варианты:
1. Через GET параметры.
2. Через сессию.


В названии темы написано JS - это JSP. Не полностью влезло название.
Можно попробовать через сессию это делать. Хотя GET запрос тоже не плохо, но коим образом? Если сообщение об ошибке это ответ фильтра. Делать редирект на url /index?status=incorrect так к примеру?

Это сообщение отредактировал(а) Tsyklop - 28.4.2016, 11:08
PM MAIL   Вверх
LSD
Дата 28.4.2016, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 5
Всего: 537



Цитата(Tsyklop @  28.4.2016,  12:03 Найти цитируемый пост)
В названии темы написано JS - это JSP. Не полностью влезло название.

Да хоть JSF. Это не мешает тебе сгенерировать страничку с JavaScript-ом который будет делать редирект через n секунд.


Цитата(Tsyklop @  28.4.2016,  12:03 Найти цитируемый пост)
Делать редирект на url /index?status=incorrect так к примеру?

Да. Если сообщение об ошибке стандартное, то просто тип этой ошибки передавать 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.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1359 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.