Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Session vs Cookie / 18 сообщений из 18, страница 1 из 1
16.02.2007, 15:20:39
    #34336824
maxq
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
Есть web приложение, в котором я использую cookie для вывода имени пользователя, так как странички кешируються я не могу делать это через session .
Возникает проблема:
Когда пользователь залогинился, я создаю cookie с параметрами:
Код: plaintext
1.
2.
3.
4.
Cookie cookie =  new  Cookie("cookieName", "cookieValue");
cookie.setMaxAge(- 1 );
cookie.setPath("/");
response.addCookie(cookie);
где и храню имя пользователя, где время жизни cookie - это время текущего сеанса(пока пользователь не покинет браузер). Но когда истекает session , если пользователь не сделал ни каких действий за определенный период: данные cookie стают не актуальными, и выводяться на страничке! Если бы страничка не кешировалась я бы использовал session . А так как странички иногда могут кешироваться мне нужно использовать cookie и в этом случае мы ничего не знаем о session так как там содержаться уже заведомо не коректные данные!

У меня вообще нет идей как сдесь можна вывернуться???
Может кто то сталкивался с такой проблемой???
...
Рейтинг: 0 / 0
16.02.2007, 15:27:01
    #34336857
sqlmaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
Подумаю, напишу.
...
Рейтинг: 0 / 0
16.02.2007, 15:31:34
    #34336887
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
это поможет?

Код: plaintext
1.
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
...
Рейтинг: 0 / 0
16.02.2007, 15:40:24
    #34336925
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
Пользуй JSESSION. И не будет болеть голова. Ее можно и из куков брать, но есть и своя функция ...
...
Рейтинг: 0 / 0
16.02.2007, 15:46:09
    #34336949
maxq
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
zalexakaэто поможет?
Код: plaintext
1.
Cache-Control: no-cache, must-revalidate
Pragma: no-cache


Я бы хотел как то убить cookie после того как закончилась session , но я не могу это узнать, может как то можна настроить cookie (как то привязать время жизни cookie к времени жизни session )???
...
Рейтинг: 0 / 0
16.02.2007, 16:01:21
    #34337018
maxq
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
andrushokПользуй JSESSION. И не будет болеть голова. Ее можно и из куков брать, но есть и своя функция ...

Это не выход, ведь я не могу добраться до session через java script , по другому не как! Ведь если старница закеширована, то все проверки нужно делать с помощью java script !
...
Рейтинг: 0 / 0
16.02.2007, 16:05:20
    #34337034
raidan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
Почему бы не устанавливать setMaxAge равными времени валидности сессии? И при выводе страницы (если сессия валидна) обновлять этот куки?
...
Рейтинг: 0 / 0
16.02.2007, 16:07:37
    #34337050
raidan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
Более того. Сохранение cookies я бы делал также методами JavaScript'а.
...
Рейтинг: 0 / 0
16.02.2007, 16:16:29
    #34337084
maxq
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
raidanБолее того. Сохранение cookies я бы делал также методами JavaScript'а.
В принцепе cookie создаеться при логине с помощью акшена, а вот анализируеться с помощью javascript : сдесь все чесно.
...
Рейтинг: 0 / 0
16.02.2007, 16:18:43
    #34337095
maxq
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
raidanПочему бы не устанавливать setMaxAge равными времени валидности сессии? И при выводе страницы (если сессия валидна) обновлять этот куки?
Bедь я не могу добраться до session через java script
...
Рейтинг: 0 / 0
16.02.2007, 16:25:42
    #34337120
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
Если кукисы устарели то при след. обращении клиента можно проверить их по HttpServletRequest.getCookies() и если что не так заменить их или редиректить куданить и тд по ситуации.
ЗЫ
уж в сервлете(жсп) доступ к сессии без проблем.
...
Рейтинг: 0 / 0
16.02.2007, 16:29:44
    #34337141
raidan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
maxq
Bедь я не могу добраться до session через java script
Подход должен быть совершенно противоположным.
JavaScript нужно модифицировать экшеном.
...
Рейтинг: 0 / 0
16.02.2007, 16:42:58
    #34337188
maxq
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
raidan maxq
Bедь я не могу добраться до session через java script
Подход должен быть совершенно противоположным.
JavaScript нужно модифицировать экшеном.
Нет, если страница закеширована, то токо через java script можна сделать каккие нибудь проверки, у нас же не идет запрос на сервер!
...
Рейтинг: 0 / 0
16.02.2007, 17:52:27
    #34337449
raidan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
maxq
Нет, если страница закеширована, то токо через java script можна сделать каккие нибудь проверки, у нас же не идет запрос на сервер!
Разъясняю. Вот так выглядит JSP:

<html>
<head>
...
</head>
<body>
<script type="text/javascript">
saveMyCookie("timeout",<%=request.getParameter("sessionTimeout")%>);
</script>
...
</body>
</html>
...
Рейтинг: 0 / 0
16.02.2007, 17:54:38
    #34337457
raidan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
Есть еще несколько моментов. Догадайтесь сами, хорошо? Вам же деньги за ваш труд платят :)
...
Рейтинг: 0 / 0
16.02.2007, 18:20:00
    #34337533
maxq
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
raidan maxq
Нет, если страница закеширована, то токо через java script можна сделать каккие нибудь проверки, у нас же не идет запрос на сервер!
Разъясняю. Вот так выглядит JSP:

<html>
<head>
...
</head>
<body>
<script type="text/javascript">
saveMyCookie("timeout",<%=request.getParameter("sessionTimeout")%>);
</script>
...
</body>
</html>

Если страничка закешированная то
Код: plaintext
<%=request.getParameter("sessionTimeout")%>
будет всегда константой, которая не изменяеться!
...
Рейтинг: 0 / 0
16.02.2007, 18:26:12
    #34337548
raidan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
maxq
Если страничка закешированная то
Код: plaintext
<%=request.getParameter("sessionTimeout")%>
будет всегда константой, которая не изменяеться!
Ну естественно. Если сессия не протухла, то при обновлении страницы мы опять сохраняем этот Cookies. И считаем что сессия не протухла на еще заданное количество времени.

Это в случае того, что к серверу идет хоть какая-то информация и он понимает, что сессия еще активна. У вас так? Если к серверу не отправляется НИКАКАЯ информация в случае кэширования, даже признак того, что пользователь еще активен (без вызова сервлетов и т.д.), то решения вашей проблемы не существует :)
...
Рейтинг: 0 / 0
16.02.2007, 19:11:59
    #34337639
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Session vs Cookie
raidan maxq
Если страничка закешированная то
Код: plaintext
<%=request.getParameter("sessionTimeout")%>
будет всегда константой, которая не изменяеться!
Ну естественно. Если сессия не протухла, то при обновлении страницы мы опять сохраняем этот Cookies. И считаем что сессия не протухла на еще заданное количество времени.

Это в случае того, что к серверу идет хоть какая-то информация и он понимает, что сессия еще активна. У вас так? Если к серверу не отправляется НИКАКАЯ информация в случае кэширования, даже признак того, что пользователь еще активен (без вызова сервлетов и т.д.), то решения вашей проблемы не существует :)
Угу! От сервера плясать надо. А что злобный юзвер на клиенте делаеть - не ваща головная боль!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Session vs Cookie / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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