论坛首页 Java企业应用论坛

如何防止用户恶意的F5刷新操作的问题?

浏览 20069 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-31  
这还不简单.
if(session.getAtrribute("busy") != null)
{
   return "busy"
}
session.setAttribute("busy","")
try{
doProcess();
}finally{
session.removeAttribute("i am busy")
}
0 请登录后投票
   发表时间:2007-05-31  
抛出异常的爱 写道

BufferString是String的父类当有变化时时减少资源浪费
(如果是String那么url+"/xxx.do?"+"zzz=yyy"+"&aaa=bbb"+"&cccc=dddd")

StringBuffer怎么是String的父类了??

另外 url + "asdfa" + "asdfasd" + .... + "asdfas"
和new StringBuffer(url).append("adfasdf").append("asdf").....toString()是一样的
编译器自动把+变成了append
看编译后的bytecode可以证明这一点

但如果是这样:
String s = url + "asdf";
s = s + "asfdasdf";
...
s = s + "sjfdkajsdlfj";
就很浪费,多个StringBuffer,多次toString()
比:
s = url.concat("asdfas").concat("sdfasdf")...还慢
这类情况就要明白写出StringBuilder.append
而前述的 a + b + c ... 连着写没有问题(当然要是在意Builder比Buffer更快,那还是手工写出来)

这里编译器指 sun jdk 1.4+ eclipse 3.0+ 更早版本没验证过
0 请登录后投票
   发表时间:2007-05-31  
nihongye 写道
这还不简单.
if(session.getAtrribute("busy") != null)
{
   return "busy"
}
session.setAttribute("busy","")
try{
doProcess();
}finally{
session.removeAttribute("i am busy")
}

好办法,把这段代码搞到拦截器里去...
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics