使用浏览器手动删除Cookie后的请求

用户名

今天,我尝试了这种代码...登录后,用FF浏览器删除了所有cookie,然后刷新了网页,得到了NPE:P,所以我一直在想是否有一种简单的“恢复”方法或其他方法会话,如果在客户端上手动删除了cookie或在这种情况下最最佳的方法是什么,特别是如果servlet上下文范围中仍然有一些数据(与会话属性有关)?

例如,如果我在会话中有一些ID

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)没有cookie,因为它们是手动删除的
  • B)并session.getAttribute("id");抛出NPE?

谢谢

巨人

Servlet环境使用URL重写或Cookies来跟踪用户会话(这是HTTP内容)。如果删除浏览器上的cookie,您(很可能)最终将失去用户浏览器与Web应用程序之间的所有连接。

如果您想记住用户,则需要Cookie。您得到的NPE只是缺少cookie(以及程序中缺少位)的反映。

因此,您应该检查cookie和/或会话是否存在(验证NPE),如果找不到它们,则将无法跟踪用户(并且应将其重定向到登录页面-如果它适用)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Cookie手动恢复会话?

来自分类Dev

手动删除pip包后如何删除

来自分类Dev

浏览器何时删除会话Cookie?

来自分类Dev

为什么在AJAX请求返回后浏览器没有设置cookie?

来自分类Dev

在浏览器上呈现报告后,手动调整列宽的大小

来自分类Dev

在默认cookiestore中手动设置cookie并在okhttp请求中使用它

来自分类Dev

使用javascript删除浏览器的所有Cookie

来自分类Dev

如何区分浏览器返回和用户手动更改位置哈希

来自分类Dev

什么是硒的webdriver和浏览器实例中打开Firefox的实例之间的差别手动打开?

来自分类Dev

手动打开的Chrome浏览器和使用chrome驱动程序打开之间有什么区别

来自分类Dev

关闭浏览器后未删除Cookie-仅适用于Chrome浏览器

来自分类Dev

手动在浏览器中键入时,React-router网址不起作用

来自分类Dev

手动删除参考包装器的Rust寿命问题

来自分类Dev

npm start:手动刷新浏览器以反映更改

来自分类Dev

浏览器,可在打印时手动更改页边距

来自分类Dev

使用InternetExplorerDriver自动执行IE浏览器的手动步骤

来自分类Dev

浏览器何时删除会话Cookie?

来自分类Dev

关闭浏览器后,cookie被删除

来自分类Dev

无法使用三种不同的浏览器从download.microsoft.com手动下载更新

来自分类Dev

关闭浏览器窗口后,如何防止Google Chrome浏览器删除会话Cookie?

来自分类Dev

如何通过文件或注册表修改手动设置默认浏览器?

来自分类Dev

手动删除分区后无法安装Ubuntu

来自分类Dev

关闭浏览器后如何删除或取消设置Cookie?

来自分类Dev

可手动更新的单元崩溃的浏览器

来自分类Dev

在每个命令后不手动删除“ tmp”目录就无法使用ember-cli

来自分类Dev

在angular2中,如何在手动刷新/重新加载浏览器后保留html5控制值?

来自分类Dev

我如何(手动)拦截自定义消息并将其返回给发出HTTPS请求的浏览器

来自分类Dev

手动刷新页面时如何取消浏览器关闭/刷新确认模式?

来自分类Dev

如何手动调用未填写输入字段的浏览器突出显示?

Related 相关文章

  1. 1

    如何使用Cookie手动恢复会话?

  2. 2

    手动删除pip包后如何删除

  3. 3

    浏览器何时删除会话Cookie?

  4. 4

    为什么在AJAX请求返回后浏览器没有设置cookie?

  5. 5

    在浏览器上呈现报告后,手动调整列宽的大小

  6. 6

    在默认cookiestore中手动设置cookie并在okhttp请求中使用它

  7. 7

    使用javascript删除浏览器的所有Cookie

  8. 8

    如何区分浏览器返回和用户手动更改位置哈希

  9. 9

    什么是硒的webdriver和浏览器实例中打开Firefox的实例之间的差别手动打开?

  10. 10

    手动打开的Chrome浏览器和使用chrome驱动程序打开之间有什么区别

  11. 11

    关闭浏览器后未删除Cookie-仅适用于Chrome浏览器

  12. 12

    手动在浏览器中键入时,React-router网址不起作用

  13. 13

    手动删除参考包装器的Rust寿命问题

  14. 14

    npm start:手动刷新浏览器以反映更改

  15. 15

    浏览器,可在打印时手动更改页边距

  16. 16

    使用InternetExplorerDriver自动执行IE浏览器的手动步骤

  17. 17

    浏览器何时删除会话Cookie?

  18. 18

    关闭浏览器后,cookie被删除

  19. 19

    无法使用三种不同的浏览器从download.microsoft.com手动下载更新

  20. 20

    关闭浏览器窗口后,如何防止Google Chrome浏览器删除会话Cookie?

  21. 21

    如何通过文件或注册表修改手动设置默认浏览器?

  22. 22

    手动删除分区后无法安装Ubuntu

  23. 23

    关闭浏览器后如何删除或取消设置Cookie?

  24. 24

    可手动更新的单元崩溃的浏览器

  25. 25

    在每个命令后不手动删除“ tmp”目录就无法使用ember-cli

  26. 26

    在angular2中,如何在手动刷新/重新加载浏览器后保留html5控制值?

  27. 27

    我如何(手动)拦截自定义消息并将其返回给发出HTTPS请求的浏览器

  28. 28

    手动刷新页面时如何取消浏览器关闭/刷新确认模式?

  29. 29

    如何手动调用未填写输入字段的浏览器突出显示?

热门标签

归档