一、关于session的一些知识
1.getSession()/getSession(true)、getSession(false)
getSession()/getSession(true)这种是在获取时如果没有session会自动创建
getSession(false)在获取时如果没有不会自动创建
2.关闭浏览器时session的反应
若在关闭时没有手动清除session,则客户端的缓存session会被清除,但是服务器端的session暂时不会被清除,只有过了session的有效时间后才会清除
若关闭之前已经手动清除了session,如果只是关闭了窗口而不是浏览器,这时候虽然session已经被清除,但是缓存里面有,所以测试会发现还是有session存在但是这时候的sesssion与之前的完全不一样,id不一样并且里面没有属性值;如果是关闭了浏览器则再打开时就不会有session存在了。
二、request在获取参数时特殊字符
%后面加上数字,由于ASCII导致获取出来的字符出现问题,可以在获取之后进行重新编码java.net.URLEncoder.encode()
三、对象数组排序
public IBOSipChannelAccessStatValue[] getSortValue(IBOSipChannelAccessStatValue[] objValue) throws Exception {
ArrayList objValueList = new ArrayList();
Collections.addAll(objValueList, objValue);
Collections.sort(objValueList, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
IBOSipChannelAccessStatValue value1 = (IBOSipChannelAccessStatValue) o1;
IBOSipChannelAccessStatValue value2 = (IBOSipChannelAccessStatValue) o2;
if (value2.getStatDate().before(value1.getStatDate())) {
return 1;
} else {
return 0;
}
}
});
return (IBOSipChannelAccessStatValue[]) objValueList.toArray(new IBOSipChannelAccessStatValue[0]);
}