Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / response.sendRedirect и передача параметрорв / 19 сообщений из 19, страница 1 из 1
28.05.2013, 10:37:35
    #38275975
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Есть страница page1.jsp = мапится в браузере как /page/1

на ней форма - она делает сабмит на сервлет action1

в нем идет разбор параметров и если все ок! то надо перейти на страницу page2.jsp мапится в браузере как /page/2

вопрос в том что когда я делаю в севрлете :

response.sendRedirect - то теряется возможность передать что то на page2.jsp через request.setAttribute

можно добавить несколько параметров в url - но это будет выглядеть не очень красиво .


вопрос как мне передать набор параметров в page2.jsp через response.sendRedirect ? может есть способ ?

использовать загловки итд ?

или есть способ сделать forward на page2.jsp и каким то образом поменять url в браузере ?


к примеру если возникла ошибка при вводе данных на page1.jsp , то я просто делаю :

request.setAttribute("error"," описание ошибки ")
request.getRequestDispatcher(PagesUrl. page1).forward(request, response);
return;
...
Рейтинг: 0 / 0
28.05.2013, 10:47:39
    #38276003
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
В сессию положить
request.getSession().setAttribute()
Или в куки...
...
Рейтинг: 0 / 0
28.05.2013, 10:52:04
    #38276014
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Blazkowicz,

Спасибо! положить в сессию это хорошее компромиссное решение.

куки не хочется таскать туда сюда , тем более когда их много .

Хотя тоже хорошее решение.

обычно в сессию кладу что то важное, не подумал что можно положить и мусор :)
...
Рейтинг: 0 / 0
28.05.2013, 10:55:33
    #38276027
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Atum1Спасибо! положить в сессию это хорошее компромиссное решение.
куки не хочется таскать туда сюда , тем более когда их много .
Хотя тоже хорошее решение.
обычно в сессию кладу что то важное, не подумал что можно положить и мусор :)
Куки лучше масштабируются, чем атрибуты сессии.
...
Рейтинг: 0 / 0
28.05.2013, 11:07:27
    #38276049
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Blazkowicz,
а может быть есть ссылки на какие-нибудь бенчмарки или просто статьи про масштабируемость cookie vs session attribute?
У меня есть ощущение, что такие вещи могут играть роль только когда счет параллельных сессий идет на десятки-сотни тысяч, а в enterprise обычно нагрузка несколько по меньше (опять же речь ведь не идет о складывании в сессию объекты мегабайтами раз уж cookie рассматриваются как альтернатива).
...
Рейтинг: 0 / 0
28.05.2013, 11:16:29
    #38276065
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
я так понимаю что под масштабируемостью понимается тот факт, что если "мусор" лежит в куках - то клиенту глубоко пофиг если вдруг нода на которой он работал упадет, и балансировщиком его перекинет на вторую ноду. Куки доступны всегда пока клиент доступен. Ну и немаловажно что серверу не придется реплицировать мусор в сессии, что тоже очень гуд. С куками одна беда - их легче подделать, но если это не важные данные, а именно что мусор - то куки лучше
...
Рейтинг: 0 / 0
28.05.2013, 11:26:10
    #38276086
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
just_vladimirа может быть есть ссылки на какие-нибудь бенчмарки или просто статьи про масштабируемость cookie vs session attribute?
У меня есть ощущение, что такие вещи могут играть роль только когда счет параллельных сессий идет на десятки-сотни тысяч, а в enterprise обычно нагрузка несколько по меньше (опять же речь ведь не идет о складывании в сессию объекты мегабайтами раз уж cookie рассматриваются как альтернатива).
Какие ещё бенчмарки? Если у вас единственный сервер на 100 пользователей, то особо без разницы.
Если у вас кластер на тысячи пользователей, то разница существенна.
Для failover сессию нужно реплицировать на дублирующую ноду. Иногда на несколько. Это дополнительные затраты. Чем больше мусора и полезной нагрузки в сессии, тем дороже репликация. Некоторые сервера даже тупо делают репликацию на все ноды в кластере. Что вообще за гранью.
Куки, же клиент таскает с собой. Даже не обязательно куки. ASP.NET, например, по-умолчанию часть атрибутов держит в скрытом поле. В эпоху single page web applications даже в этом не обходимости нет. Но у вас, правда, много страниц.
...
Рейтинг: 0 / 0
28.05.2013, 11:28:44
    #38276092
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
забыл никС куками одна беда - их легче подделать, но если это не важные данные, а именно что мусор - то куки лучше
Их можно подписать\зашифровать с определенным временем жизни. Так что единственный способ взломать будет только через полчение ключа с сервера. А ключ из хранилища утянуть даже сложнее чем дамп базы данных.
...
Рейтинг: 0 / 0
28.05.2013, 13:33:35
    #38276485
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
BlazkowiczКакие ещё бенчмарки? Если у вас единственный сервер на 100 пользователей, то особо без разницы.
Если у вас кластер на тысячи пользователей, то разница существенна.
Для failover сессию нужно реплицировать на дублирующую ноду. Иногда на несколько. Это дополнительные затраты. Чем больше мусора и полезной нагрузки в сессии, тем дороже репликация. Некоторые сервера даже тупо делают репликацию на все ноды в кластере. Что вообще за гранью.
В мире существует только две крайности один сервер на 100 пользователей и огромный кластер на тысячи? Я и хотел понять, начиная с какого количества пользователей и объема хранимых данных начинаются проблемы хранения на сервере?
...
Рейтинг: 0 / 0
28.05.2013, 13:44:14
    #38276521
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
just_vladimirВ мире существует только две крайности один сервер на 100 пользователей и огромный кластер на тысячи? Я и хотел понять, начиная с какого количества пользователей и объема хранимых данных начинаются проблемы хранения на сервере?
Начиная с того момента как у вас появляется вторая нода, у вас появляются и затраты на репликацию. Тут не может быть никаких бенчмарков, потому что всё индивидуально для проекта.
Смысла искать пограничное значение, когда клиентская сессия становится выгоднее серверной, я тоже не вижу. Выбор решения достаточно очевиден из требований проекта. Если у вас ERP под отдельные офисы. Там максимум несколько сотен сотрудников на офис. Даже если больше, можно всегда выделить сервер на отдел.
А вот если у вас public сервис, социальная сеть, game-server, то вы уже можете ожидать наплыва посетителей. Вот тут уже требования к масштабированию другие.
...
Рейтинг: 0 / 0
29.05.2013, 12:03:40
    #38278199
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Blazkowiczjust_vladimirВ мире существует только две крайности один сервер на 100 пользователей и огромный кластер на тысячи? Я и хотел понять, начиная с какого количества пользователей и объема хранимых данных начинаются проблемы хранения на сервере?
Начиная с того момента как у вас появляется вторая нода, у вас появляются и затраты на репликацию. Тут не может быть никаких бенчмарков, потому что всё индивидуально для проекта.
Смысла искать пограничное значение, когда клиентская сессия становится выгоднее серверной, я тоже не вижу. Выбор решения достаточно очевиден из требований проекта. Если у вас ERP под отдельные офисы. Там максимум несколько сотен сотрудников на офис. Даже если больше, можно всегда выделить сервер на отдел.
А вот если у вас public сервис, социальная сеть, game-server, то вы уже можете ожидать наплыва посетителей. Вот тут уже требования к масштабированию другие.

согласен полностью с Blazkowicz - для каждой задачи своя реализация ...

если это система для офиса где 100 работников она может простить многое ...

если это сайт где полмиллиона уникальных посетителей в день - то тут надо думать , отключать сессии на страницах на которых они ненужны, кешировать собранные страницы , использовать ajax и т.д.
...
Рейтинг: 0 / 0
29.05.2013, 12:17:02
    #38278221
am_sasa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Atum1отключать сессии на страницах на которых они ненужны
интересно... Я вот не знаю как и что это дает, можно поподробней?
...
Рейтинг: 0 / 0
29.05.2013, 12:27:55
    #38278241
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Atum1можно добавить несколько параметров в url - но это будет выглядеть не очень красиво .
странно что счас на это кто-то обращает внимание. Учитывая "тупизну" пользователей.
...
Рейтинг: 0 / 0
29.05.2013, 12:28:37
    #38278243
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
am_sasa,

если у вас есть страницы поддержка сессий на которых не нужна , то для экономии ресурсов - установите флаг

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
session="true|false". Данный атрибут может принимать значение true или false,
 которые определяют принимает ли участие JSP страница в трансляции HTTP. 
Значение true («истина», принимается по умолчанию) 
сигнализирует о том, что заранее определённая переменная session (тип HttpSession) 
должна быть привязана к существующей сессии,
 если таковая имеется, в противном случае создаётся новая сессия,
 к которой и осуществляется привязка. 

Значение false («ложь») определяет, что сессии не будут использоваться,
и попытки обращения к переменной session приведут к возникновению ошибки при трансляции JSP страницы в сервлет.
 Пример использования данного атрибута может выглядеть следующим образом:

<%@ page session=”false” %>



так же вы можете настроить , оттюнинговать свою страницу другими параметрами

http://ru.wikipedia.org/wiki/JSP
...
Рейтинг: 0 / 0
29.05.2013, 12:31:00
    #38278247
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Petro123Atum1можно добавить несколько параметров в url - но это будет выглядеть не очень красиво .
странно что счас на это кто-то обращает внимание. Учитывая "тупизну" пользователей.

Это так сказать мой "загон" как разработчика :)

хочется чтобы стиль был во всем , в том числе и в URL - если уж решил что все будет как REST URL - то надо этого придерживаться.
...
Рейтинг: 0 / 0
29.05.2013, 12:43:16
    #38278267
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Atum1,
ты учитывай, что удобно передать ВСЕ входные с урл своему товарищу по почте или сохранить на десктопе.
Тут главное не красота, а тот же вид странички. (Функционал)
...
Рейтинг: 0 / 0
29.05.2013, 12:49:02
    #38278279
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Petro123Atum1,
ты учитывай, что удобно передать ВСЕ входные с урл своему товарищу по почте или сохранить на десктопе.
Тут главное не красота, а тот же вид странички. (Функционал)

Пример : сайт РЖД - который на java написан :

передавать не удобно , строки очень длинная ... если сделать urlrewrite - через либу http://tuckey.org/urlrewrite/ все стало бы намного лучше :)


http://pass.rzd.ru/timetable/public/ru?STRUCTURE_ID=735&layer_id=5354&refererVpId=1&refererPageId=704&refererLayerId=4065#dir=0|tfl=3|checkSeats=1|st0=МОСКВА|code0=2000000|dt0=29.05.2013|st1=САНКТ-ПЕТЕРБУРГ|code1=2004000|dt1=30.05.2013
...
Рейтинг: 0 / 0
29.05.2013, 12:55:12
    #38278293
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
Atum1,
что то я не пойму.
Как ты передашь те же параметры соседу на комп без их передачи?
...
Рейтинг: 0 / 0
29.05.2013, 13:49:21
    #38278415
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
response.sendRedirect и передача параметрорв
offtop:
Atum1Пример : сайт РЖД - который на java написан
Зашел, посмотрел, похоже они наконец выкинули IBM WebSphere Portal :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / response.sendRedirect и передача параметрорв / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]