Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 登录流应该是什么来防止页面刷新时重新登录_Javascript_Jsp_Servlets - Fatal编程技术网

Javascript 登录流应该是什么来防止页面刷新时重新登录

Javascript 登录流应该是什么来防止页面刷新时重新登录,javascript,jsp,servlets,Javascript,Jsp,Servlets,我创建了一个简单的web应用程序 流程是:登录页面--(onlogin)--->主页--(onlogout)--->登录页面 但在用户注销后,如果您按下“上一步”按钮并刷新页面,它会在浏览器重新发送登录数据时再次让您登录 我正在使用Javaservlet。 当用户登录时,将设置一个会话变量,其密钥为userid,并且会话在注销时失效 我考虑将登录时间戳存储在数据库中,如果用户使用旧的时间戳重新登录(在页面刷新时重新发送),则登录尝试无效。 但是数据库修改不在我手中 有更好的解决方案吗?改变你的流

我创建了一个简单的web应用程序

流程是:登录页面--(onlogin)--->主页--(onlogout)--->登录页面

但在用户注销后,如果您按下“上一步”按钮并刷新页面,它会在浏览器重新发送登录数据时再次让您登录

我正在使用Javaservlet。 当用户登录时,将设置一个会话变量,其密钥为userid,并且会话在注销时失效

我考虑将登录时间戳存储在数据库中,如果用户使用旧的时间戳重新登录(在页面刷新时重新发送),则登录尝试无效。 但是数据库修改不在我手中

有更好的解决方案吗?

改变你的流程
登录页面--(onlogin)-->主页--(onlogout)-->登录页面。

登录页面--(onlogin)-->(过程方法)--然后重定向到-->主页--(onlogout)-->登录页面。


刷新后数据会重新发送,因为登录后您会重定向到主页。我确信,如果您在会话和主页中进行正常刷新,它肯定会重新发送数据。

您是否在注销时使会话无效?我想这可能是因为服务器会话id正在更改。我也经历了同样的注销后,返回…刷新页面并检查您是否登录..是的,我正在使会话无效,但在页面刷新时,它会再次创建一个新的有效会话。桑蒂诺:是的,它正在登录