![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Hidrag |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 2 Всего: 25 |
Хочу сделать навигацию между JSP страницами с передачей параметров методом POST.
Главная страница JSP получает параметры от сервлета, то есть сервлет ее запускает и устанавливает для нее параметры В полученной JSP я их получаю так:
А как теперь мне из этой страницы стартануть другую нажатием на ссылке и передать ей этот же параметр POST методом? В документации нашел метод:
Но по моему он не подойдет... передает методом гет, фиг знает как вместо этого value запихнуть значение переменной из директивы... Это сообщение отредактировал(а) tux - 14.12.2006, 23:52 -------------------- |
||||
|
|||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Запехни в сессию. А потом возьми.С лёту не помню. Хотя то 4то ты делаеш - полный изврат(извини).
|
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Hidrag, Пользуйся кнопочкой "Код".
Вопрос больше в раздел разработки веб-систем. Можно сделать так. Сформировать на странице форму, у которой все атрибуты будут скрытыми (это свои параметры), а ссылка в форме будет показывать на нужную JSP-страницу. Что-то такое:
|
|||
|
||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 2 Всего: 25 |
tux, Спасибо! Кнопкой код пользуюсь обычно, просто поторопился. Завтра попробую!
-------------------- |
|||
|
||||
| Hidrag |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 2 Всего: 25 |
К сожалению не то! Работает, но хоть и метод ПОСТ, но все равно можно поглядеть значение переменных если просмотреть исходник из браузера, а это лишает смысла
Опишу ситуацию подробнее : В общем у меня есть несколько JSP страниц, полностью одинаковых (копии) отличающиеся только текстовым содержанием. В каждой странице я в самом начале получаю атрибуты:
Потом в зависимости от этих параметров что то меняется на странице. Вопрос в том, как мне из одной страницы стартануть другую и передать ей эти же атрибуты... Желательно передать методом ПОСТ чтобы эти переменные в адресной строке не светились.... сейчас сделал методом ГЕТ:
то есть вызываю сервлет Навигатион и ему передаю параметры а он уже стартует страницу которую указал:
но по моему это как то коряво... вроде через сессию можно, но еще не разобрался как с ними работать что подскажете? -------------------- |
||||||
|
|||||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Hidrag, ну ясен пень такие вещи нужно делать через сессию. Ну или через кукисы - смотря какая стоит задача. Кто ж логины с паролем гоняет по сети открытым текстом?
Поэтому для начала к тебе встречный вопрос: ты хочешь чтобы юзер логинился каждый раз, когда он заходит (типа как в вебмэйл), и автоматически разлогировался через определенное время (полчаса, к примеру или по закрытию браузера), или ты хочешь, чтобы было по типу как на Винграде, один раз вошел и все, пока сам специально не выйдешь? В зависимости от этого будем делать либо через сессию, либо через кукисы. |
|||
|
||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 2 Всего: 25 |
Вот вот никакой безопасности... (
Я иду по пути меньшего сопротивления, что проще так и делаю соответственно изучая все новое, цель всей задумки: разобраться с JSP и создать интересный динамический ресурс, хостинг уже нашел - зарегал соответствующий. Думаю сначала сделать чтобы логинился каждый раз при входе, а потом добавть опцию в аккаунт, типа поставил галочку - будут кукисы, нет - не будет. Данные пользователя хранятся в БД то есть юзер ввел пароль и логин на странице, эти данные ушли методом ПОСТ сервлету, тот их передал классу ответственному за БД и получить от туда результат, если он положительные то вывел эту же страницу с параметром ( то есть чтобы юзер видел что он зареган и не было полей для ввода логина и паса). Честно говоря думал это будут разбираться в теме "JSP с чего начать" но что то она погасла -------------------- |
|||
|
||||
| Greg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.9.2006 Где: Беларусь, г.Минск Репутация: 5 Всего: 7 |
Тебя наверное очень волнует тот факт,что аутентификационные данные передаются в открытом виде.
Это самый главный недостаток HTTP и ему попдобных FTP,POP3,Telnet. Не беспокойся,в этом случае единственное,что может как-то усложнить жизнь взломщику - это передача хэша пароля и то не сильно.Что касается сессии или кукисов,то тут кажется вопрос немного не правильно поставлен.Кукисы это реализация способа работы с пользователем,описанная в HTTP.Поэтому работать с пользователем нужно через них.Другое дело,что они могут быть долгоживущими,или сбрасываться по итсечении сессии/таймаута. "Через сессию" - это наверное было бы изобретением велосипеда,хотя красиво жить не запретишь --------------------
Страх перед возможностью ошибки не должен отвращать нас от поисков истины. |
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Будет обязательно, если энтузиазм изучающего не утухнет. По поводу аутентификации: мыслишь в принципе правильно, но есть один нюанс: а ты собираешься код доступа к БД на предмет проверки логина на каждой JSP странице прописывать? Наверное нет, правильно? Сделать на самом деле можно по-разному, но поскольку ты планируешь сделать строго динамический вебсайт, то имеет смысл (пока что, для простоты) вынести эти действия в фильтр аутентификации. Как оформить фильтр - думаю, разберешься. Результатом его работы должно стать создание объекта User (или как он у тебя называется) и помещение его в сессию. Далее на любой странице к этому объекту можно доступиться в одну строчку. |
|||
|
||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 2 Всего: 25 |
За аутентификацию отвечает сервлет он один для всех, ему передал параметры он по базе "пробил" выдал ответ.
То есть теоретически он должен запихнуть свой результат в сессию, а потом стартануть страницу, эта страница смотрит результаты в сессии если они гуд то выглядит так, если нет то по другому? Я правильно понимаю? Осталось только с сессией научиться работать... как ее создавать или она сама создается, как к ней обращаться(читать/писать) из JSP/Servlet... если подскажете буду признателен, а то чессно говоря утомляет читать документацию от SUN на инглише... хотя все что умею на Java все из нее... -------------------- |
|||
|
||||
| Greg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.9.2006 Где: Беларусь, г.Минск Репутация: 5 Всего: 7 |
Сессия создаётся контейнером,а получить её из сервлета можно так:
Теперь о том как она создаётся: Контейнер проверяет клиента на наличие парметра jsessionid в кукисах или параметре запроса. Если найдено,то проверяется значение и связывается с объектом HttpSession именно для этого значения. Если не найден параметр или его значение ни о чём не говорит контейнеру,то создаётся новая сессия и клиенту посылается кукис с новым jsessionid или добавляется в запрос. --------------------
Страх перед возможностью ошибки не должен отвращать нас от поисков истины. |
|||
|
||||
| Stampede |
|
||||||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
А, то есть есть какой-никакой MVC? Это оч хорошо. Тогда все вообще тривиально. Как с сессией работать - ну, это мне самому надо в доку лезть. Но да ладно, "если ты такой ленивый...":
И фсе! Запихивать объект User в сессию нужно по обработке POST запроса, приходящего по логину:
Как доступиться к атрибуту сессии из JSP - надеюсь, сам разберешься. |
||||||
|
|||||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |