如何区分没有session和session过期啊?
工程的一个Application的文件中是这样写的: RequestContext context = createRequestContext(request, response);
IEngine engine = getEngine(context);
HttpSession session = context.getSession();
// 登陆用户唯一性判断
if (session != null) {
...
}else{
super.doService(request, response);
}
这样写的话,当它session过期后就会抛异常;
所以我在else中改为如下代码: if(firstFlag){
super.doService(request, response);
firstFlag=false;
}else{
request.getSession(true).removeAttribute(ConstantPageName.SESSION_USERID);
firstFlag=true;
response.sendRedirect("app?service=page/SessionTimeOut");
}firstFlag 是我设置的一个全局的参数:
private static boolean firstFlag = true;这样做会造成一个问题,因为这个文件时Application级的文件,每个用户登录都会访问这个文件,
当A登录时,程序会跑
if(firstFlag){
super.doService(request, response);
firstFlag=false;
}这一段,这时firstFlag被置为false,
接着B登录时,因为firstFlag为false,所以程序会跑 else{
request.getSession(true).removeAttribute(ConstantPageName.SESSION_USERID);
firstFlag=true;
response.sendRedirect("app?service=page/SessionTimeOut");
}这样就会有问题的!
有谁帮我解答不??
工程的一个Application的文件中是这样写的: RequestContext context = createRequestContext(request, response);
IEngine engine = getEngine(context);
HttpSession session = context.getSession();
// 登陆用户唯一性判断
if (session != null) {
...
}else{
super.doService(request, response);
}
这样写的话,当它session过期后就会抛异常;
所以我在else中改为如下代码: if(firstFlag){
super.doService(request, response);
firstFlag=false;
}else{
request.getSession(true).removeAttribute(ConstantPageName.SESSION_USERID);
firstFlag=true;
response.sendRedirect("app?service=page/SessionTimeOut");
}firstFlag 是我设置的一个全局的参数:
private static boolean firstFlag = true;这样做会造成一个问题,因为这个文件时Application级的文件,每个用户登录都会访问这个文件,
当A登录时,程序会跑
if(firstFlag){
super.doService(request, response);
firstFlag=false;
}这一段,这时firstFlag被置为false,
接着B登录时,因为firstFlag为false,所以程序会跑 else{
request.getSession(true).removeAttribute(ConstantPageName.SESSION_USERID);
firstFlag=true;
response.sendRedirect("app?service=page/SessionTimeOut");
}这样就会有问题的!
有谁帮我解答不??
如果没有就是压根没有
如果非要区分,你只能根据客户端发送过来的 sessionID 区判断.如果没有 sessionID 那么 session 就是新的.
如果有那就是曾经访问过服务器.
我没有使用过 JBoss .但是 在 Tomcat 下,是不可能存在 request.getSession() == null 的