Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.02.2016
Сообщений: 2
1

Java авторизация, JSP, Servlets

06.02.2016, 04:53. Показов 2480. Ответов 3
Метки нет (Все метки)

В учебных целях пытаюсь написать веб-чат. Уже несколько дней бьюсь, но так и не понял концепции...
Основной ступор у меня вызывает переход по страничкам. Я понял что на каждый запрос нужен свой сервлет, но как осуществить переходы между ними?
Сперва пытался использовать jetty и делал переходы:
Java
1
      resp.sendRedirect("index.html");
Но что-то мне подсказывает что это не то что надо...
А конкретно у меня есть базовая страница с авторизацией(логин, пароль) и хочу попасть на страницу пользователя, где уже будет заполнена информаиця о пользователе которую взял из бд.
Потом погуглив попробовал использовать tomcat. Но вообще всё плохо... Перестало работать всё, кроме стартового сервлета, который грузится первым в tomcat. Такое ощущение что из всех моих классов, tomcat знает только про один сервлет.
Может кто подсказать в каком направление копать? 2 дня уже безрезультатно просидел...
Может есть какие-то базовые принципы как это должно выглядеть?

И такой мелкий вопрос: насколько оптимально использовать в качестве информации о том авторизован или нет пользователь данные Http сессии, и проверять при каждом переходе а не вышел ли пользователь?
Java
1
req.getSession().getId()
0

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

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.02.2016, 04:53
Ответы с готовыми решениями:

Книги по JSP/Servlets
Добрый день. пожалуйста посоветуйте хорошую книгу на русском по JSP и Servlets. И если у...

Пути к servlets и jsp в Tomcat
Поставил себе Томкат 4, а он хостает JSP и servlets из каталога examplesWeb-infclasses, а путь в...

Простые CRUD операции с JSP и Servlets
Здравствуйте. Изучаю Java EE, сделал небольшую БД на MySQL, прикрутил к проекту и решил вывести всё...

Jsp, servlets, jQuery - изменения появляются с запозданием
Добрый день! Случайно заметил такую странную штуку. Пишу веб-приложение, есть скриптик на jQuery....

3
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
06.02.2016, 20:02 2
Kron24rus,
для начала сделайте Ваш index.html стратовым. тогда можно забыть сендРедирект.

на этой странице сделайте инпуты для авторизации типа логин и пароль. это все будет внутри формы, там же указываете наименование сервлета (например Autorization) куда должен попасть данные (логин и пароль) после нажатии кнопки, и метод передачи (для этого лучше будет метод POST). создайте сервлет (например Autorization) получив логин и пароль ищите в БД если есть в базе то создайте сессию и передайте/переходите дальше...

можно создать фильтр и все запросы через него сделать. а тот будет проверять есть ли в сессии такой объект или нет....

могу ошибиться.
1
0 / 0 / 0
Регистрация: 06.02.2016
Сообщений: 2
07.02.2016, 00:06  [ТС] 3
Ну у меня всё так и есть, кроме фильтров. Про фильтры я сейчас почитаю, но для них же вроде нужен web.xml или можно по другому конфигурировать?
Я просто не понимаю момент: После того как я нашёл логин и пароль, запомнил сессию, как организовать переход? Это же уже другая страница, я делал через sendRedirect, а как тогда без него? Мне представляется что в сервлете, когда проверил логин-пароль в БД, и создал сессию, нужно сформировать страницу профиля, и отдать пользователю, а поскольку пользователей много то есть заготовка, где на нужные места вставить нужные данные, тоесть JSP страница, как тут:
Java
1
2
3
 req.setAttribute("loginmessage", "failed");
                    RequestDispatcher dispatcher = req.getRequestDispatcher("/index.jsp");
                    dispatcher.forward(req, resp);
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
07.02.2016, 05:29 4
Цитата Сообщение от Kron24rus Посмотреть сообщение
req.setAttribute("loginmessage", "failed");
тут не совсем так... прочтите док

дальше передайте не в реквесте а в сессии точнее:
Java
1
2
3
4
5
6
7
8
if (login != null && password != null) {
                HttpSession sess = (HttpSession)request.getSession(true);
                
                //------поиск в БД-----
 
                if (user != null) {
                    request.getSession().setAttribute("u", user);
.......
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2016, 05:29

[Servlets & JSP] Как правильно хранить курс валют в приложении?
Писал 'tag library' тэг и использовал там Yahoo API(Currency Converter). Обнаружил, что задержка...

Есть ли смысл полностью читать o'reilly head first servlets and jsp (2nd edition) чтобы освоить spring?
Везде пишут что перед изучением стэка технологий Spring нужно ознакомиться с Servlet, но сильно...

Java Servlets или PHP?
Народ, возникла такая проблемка. Нужно знакомым сделать сайт, но мне в лом изучать PHP. Есть...

Как устанавливать Java Servlets на Apache?
Я хочу установить на Апач сервлеты, но че то не могу понять как? Кто нить знает где можно достать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.