powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Session vs Cookie
18 сообщений из 18, страница 1 из 1
Session vs Cookie
    #34336824
maxq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 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
Session vs Cookie
    #34336857
sqlmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подумаю, напишу.
...
Рейтинг: 0 / 0
Session vs Cookie
    #34336887
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это поможет?

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


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

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

<html>
<head>
...
</head>
<body>
<script type="text/javascript">
saveMyCookie("timeout",<%=request.getParameter("sessionTimeout")%>);
</script>
...
</body>
</html>
...
Рейтинг: 0 / 0
Session vs Cookie
    #34337457
Фотография raidan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще несколько моментов. Догадайтесь сами, хорошо? Вам же деньги за ваш труд платят :)
...
Рейтинг: 0 / 0
Session vs Cookie
    #34337533
maxq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Session vs Cookie
    #34337548
Фотография raidan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxq
Если страничка закешированная то
Код: plaintext
<%=request.getParameter("sessionTimeout")%>
будет всегда константой, которая не изменяеться!
Ну естественно. Если сессия не протухла, то при обновлении страницы мы опять сохраняем этот Cookies. И считаем что сессия не протухла на еще заданное количество времени.

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

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


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