jsp高手看看这个session错在哪里?

来源:百度知道 编辑:UC知道 时间:2024/06/20 13:00:55
成功登入系统时定义了safe
session.setAttribute("safe","bb")
String safes=String.valueOf(session.getAttribute("safe"))
为了防止刷新,写了以下代码
if(!safes.equals("bb"))
{
%> <script>
alert("你在作弊!");tryForm.submit();
</script>
<%
}
session.removeAttribute("safe")

但是这样写测试下来很多时候进入系统就显示作弊,但是有的时候又登陆正常。难道我的逻辑有错误...用localhost测试基本都是错误,局域网测试30%左右错误率,急求
request.getParameter("safe") 测试不行
session.removeAttribute("safe")这句就是清空值
HttpSession session = request.getSession(true);也不行

这个第一次登陆不会出现,一般出现在第二次登陆

String safes=String.valueOf((String)session.getAttribute("safe"))

还有就是清空session

session.getAttribute("safe"))
用request.getParameter("safe");

试下..貌似是session的作用域问题

你在退出后,需要清空的session中的值

或者是你需要把所有浏览器关掉。

之后再开。

你是否在退出后,就清空的session中的值!如果没有,会起冲突的

按照你的代码 测了一下,一切正常.
环境:tomcat6.13 jdk1.5 j2ee1.4 IE7.0 Firefox/2.0.0.14

jsp 部分代码如下:

<%
session.setAttribute("safe","bb");
String safes = String.valueOf(session.getAttribute("safe"));

if(!safes.equals("bb"))
{
%>
<script>
alert("你在作弊!");
tryForm.submit();
</script>
<%
}
else
{
out.print("11111111111111111");
}
session.removeAttribute("safe");
%>

在页面上成功输出:11111111111111111

alert("你在作弊!&qu