login登陆之后如果输错密码,点击浏览器刷新按钮,再次提交action的解决办法

vlson2 2011-12-19 10:49:11
用户login,会经过action,如果输错,会返回到当前页面。

现在问题是:返回之后的页面,如果按刷新,此时浏览器会提示若想继续操作,必须再次请求。

我想要的效果是,输错密码之后返回的页面,如果刷新,页面不再提交请求并且会清除输入框的数据。

用过token,但是不是我想要的效果,刷新了之后虽然没有提交请求。但是如果这次用户输入了对的账号密码,也是提交不了的,必须重新进入这个login页面。

js用的不好,估计应该是通过页面或者js来解决的,所以向各位求救。。
...全文
326 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
无可救药 2011-12-20
  • 打赏
  • 举报
回复
struts2 token 标签。
或者判断session
达布留西 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 vlson2 的回复:]
引用 17 楼 dracularking 的回复:

引用 16 楼 vlson2 的回复:

引用 15 楼 kouyisc 的回复:

引用 14 楼 vlson2 的回复:
引用 8 楼 kouyisc 的回复:

用户密码输入错误以后, 返回到login.jsp让用户重新输了提交。。不输入就不提交。。这样不行么?一个登陆功能LZ自己都搞的糊涂了。。怪异的需求。。别人说不定……
[/Quote]
在后台设置session 保存传进去的用户名,传到登陆页面,得到session,判断session
<%if(session不为空){%>
<script>
cls();清空
</script>
<%}else{
输出错误信息
}
%>
function_chk 2011-12-20
  • 打赏
  • 举报
回复
参考现在DISCUZ论坛的登陆模式,登陆成功后跳转至一个提示页面“您已成功登陆,现在跳转至登陆前页面”,页面传递一个页面的session,跳转页面捕获后用JS localhost.href = ${session}跳转,过后怎么刷新页面都不怕登陆提交action
vlson2 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 dracularking 的回复:]

引用 16 楼 vlson2 的回复:

引用 15 楼 kouyisc 的回复:

引用 14 楼 vlson2 的回复:
引用 8 楼 kouyisc 的回复:

用户密码输入错误以后, 返回到login.jsp让用户重新输了提交。。不输入就不提交。。这样不行么?一个登陆功能LZ自己都搞的糊涂了。。怪异的需求。。别人说不定还比较难以接受。。。


经过action之后返回……
[/Quote]
我想要的效果是,输错密码之后返回的页面,如果刷新,页面不再提交请求并且会清除输入框的数据。
达布留西 2011-12-20
  • 打赏
  • 举报
回复
session
wolf863292 2011-12-20
  • 打赏
  • 举报
回复
还是判断session算了。
dracularking 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 vlson2 的回复:]

引用 15 楼 kouyisc 的回复:

引用 14 楼 vlson2 的回复:
引用 8 楼 kouyisc 的回复:

用户密码输入错误以后, 返回到login.jsp让用户重新输了提交。。不输入就不提交。。这样不行么?一个登陆功能LZ自己都搞的糊涂了。。怪异的需求。。别人说不定还比较难以接受。。。


经过action之后返回的页面,在浏览器上是直接.jsp结尾的吗? 是……
[/Quote]
即使是会不会提交这个对不对不提,刷新后用户输入的登录信息相关数据还会保留?这里面我觉得有问题
BUG弄潮儿 2011-12-19
  • 打赏
  • 举报
回复
令牌传递 token
ylovep 2011-12-19
  • 打赏
  • 举报
回复
楼主登陆成功 可以把登陆的信息放到session中 如果后退再次刷新的话 那就首先判断session里面有没有登陆的信息 如果有的话直接跳转到首页

我感觉我的这个想法不错哦
vlson2 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dyllove98 的回复:]

用js拦截页面的刷新方法,
Java code
/ 屏蔽刷新代码
document.onkeydown=function()
{
if ((window.event.keyCode==116) || //屏蔽 F5
(window.event.keyCode==122) || //屏蔽 F11
(window.event.shi……
[/Quote]
不太懂你这个js的意思。。

能稍微说一下吗,我就算屏蔽了F5 用户可以使用点击“刷新”吧。。

这似乎不能根本解决问题。。。
yashucn 2011-12-19
  • 打赏
  • 举报
回复
js捕获F5事件行吗?
Jlins 2011-12-19
  • 打赏
  • 举报
回复
用js拦截页面的刷新方法,
/ 屏蔽刷新代码  
document.onkeydown=function()
{
if ((window.event.keyCode==116) || //屏蔽 F5
(window.event.keyCode==122) || //屏蔽 F11
(window.event.shiftKey && window.event.keyCode==121) //shift+F10
)
{
window.event.keyCode=0;
window.event.returnValue=false;
}
if ((window.event.altKey)&&(window.event.keyCode==115)) { //屏蔽Alt+F4
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;
}
}


上面的代码简单处理下,你可以设置一个变量来判断是第一次进入页面还是 错误之后进入该页面
vlson2 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 kouyisc 的回复:]

引用 14 楼 vlson2 的回复:
引用 8 楼 kouyisc 的回复:

用户密码输入错误以后, 返回到login.jsp让用户重新输了提交。。不输入就不提交。。这样不行么?一个登陆功能LZ自己都搞的糊涂了。。怪异的需求。。别人说不定还比较难以接受。。。


经过action之后返回的页面,在浏览器上是直接.jsp结尾的吗? 是xxx.do?的吧。

.do,那是因为你返……
[/Quote]

用的Struts框架 难道这也有错?
kouyiSC 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 vlson2 的回复:]
引用 8 楼 kouyisc 的回复:

用户密码输入错误以后, 返回到login.jsp让用户重新输了提交。。不输入就不提交。。这样不行么?一个登陆功能LZ自己都搞的糊涂了。。怪异的需求。。别人说不定还比较难以接受。。。


经过action之后返回的页面,在浏览器上是直接.jsp结尾的吗? 是xxx.do?的吧。
[/Quote]
.do,那是因为你返回到login.jsp的方式不对。。。
vlson2 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 kouyisc 的回复:]

用户密码输入错误以后, 返回到login.jsp让用户重新输了提交。。不输入就不提交。。这样不行么?一个登陆功能LZ自己都搞的糊涂了。。怪异的需求。。别人说不定还比较难以接受。。。
[/Quote]

经过action之后返回的页面,在浏览器上是直接.jsp结尾的吗? 是xxx.do?的吧。
vlson2 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dracularking 的回复:]

登录页面刷新会影响到什么吗?请求也只是请求的登录页面html相关的一些数据吧
[/Quote]

会再次提交数据到Action, 因为我的login是输错5次密码自动加锁的,之后就一定时间内不能登录了。

每刷新一次,就提交一次错的数据了,这明显不是我想要的。
xia745916489 2011-12-19
  • 打赏
  • 举报
回复
你这样子是不是太麻烦了啊
阿诺 2011-12-19
  • 打赏
  • 举报
回复
token还是不错!或者吧地址给变了!叫转发还是重定向我老是要混淆!
橙子伯爵 2011-12-19
  • 打赏
  • 举报
回复
我觉着session的方法好,直接判断session就行了,有的话进入,没有的话返回
shenyunjie0750 2011-12-19
  • 打赏
  • 举报
回复
response.sendredirect()方法,刷新不会重复提交
加载更多回复(3)

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧