Сегодня я пробовал это kind of code ... после входа в систему Я удалил все файлы cookie с помощью своего браузера FF, затем обновил веб-страницу, и у меня появился NPE: P Итак, я думал существует простой способ для «восстановить» или любой другой сеанс, если файлы cookie были удалены вручную на клиенте или наиболее оптимальный способ в этой ситуации, особенно если некоторые данные (связанные с атрибутом сеанса) все еще находятся в области контекста сервлета ?запрос после куки были удалены вручную с помощью браузера
Например, если у меня есть некоторый идентификатор в качестве сессии
session.setAttribute("id","hello world");
... и у меня есть код, как
String userID=null;
Cookie []cookies=req.getCookies();
for(Cookie cookie:cookies)
{
if(cookie.getName().equals("id")){userID=cookie.getValue();}
}
String id=session.getAttribute("id");
User user=((MyUsers)context.getAttribute("Users")).getUser(id);
, как я могу удалить пользователя (чтобы избежать дубликатов), если
- A) Существует без печенья потому что они были удалены вручную
- B) и
session.getAttribute("id");
Броски NPE?
Благодаря
AFAIK нет способа отслеживать. Помните, что это происходит в браузере пользователя, полностью отключен от вашего сервера. Вы можете реализовать что-то вроде предложенного на http://www.nakov.com/inetjava/lectures/part-3-webapps/InetJava-3.4-Servlet-lyfecycle-Sessions-Cookies.html item 3. Но в конце все как вы решили реализовать его ... – megathor
А как насчет какого-то «стандартного архитектурного решения» для такого рода ситуаций? Или дублировать пользователей в порядке? Или как обойти проблему «дублированных пользователей»? – user592704