测试目的:测试SESSION分配与浏览器的关系
测试代码:
pasting
@RequestMapping(value ={"index.html"})
public String index2(HttpServletRequest request,ModelMap model) {
String remoteIp = UserAddrUtils.getRemoteIp(request);
HttpSession oldSession = request.getSession(false);
HttpSession newSession = request.getSession();
String oldSessionId = (null==oldSession)?"null":oldSession.getId();
String newSessionId = (null==newSession)?"null":newSession.getId();
System.out.println(" oldSessiondId:"+oldSessionId);
System.out.println(" newSessionId:"+newSessionId);
model.addAttribute("oldSessiondId",oldSessionId);
model.addAttribute("newSessionId",newSessionId);
model.addAttribute("remoteIp",remoteIp);
logger.log(Level.INFO,"index.html remoteIp:"+remoteIp);
return "index";
}
测试结果:
操作步骤 | oldSessiondId | newSessionId |
启动一个IE,打开url | null | 85731566EA8FBE5C14E5C339F9C77439 |
F5刷新 | 85731566EA8FBE5C14E5C339F9C77439 | 85731566EA8FBE5C14E5C339F9C77439 |
新建标签,打开url | 85731566EA8FBE5C14E5C339F9C77439 | 85731566EA8FBE5C14E5C339F9C77439 |
关闭所有的IE,启动一个IE,打开URL | null | E122FD375611B2CBEB734B6FAFA3FA2F |
启动一个chrome,打开URL | null | D180295DFAED11C2639EBD9D897BCEF1 |
新建一个chrome,打开URL | D180295DFAED11C2639EBD9D897BCEF1 | D180295DFAED11C2639EBD9D897BCEF1 |
关闭所有的chrome,启动一个chrome,打开url | null | A433F39D84685FF1E10BE194F834B535 |
测试结论:
打开一种浏览器,访问url,服务端建立一个SESSION,直到该种浏览器所启动的全部进程都关闭掉,该SESSION才释放,然后
再打开浏览器,访问所分配的SESSION是一个新的SESSION。