Cookie是把用户的数据写给用户的浏览器。
Session技术把用户的数据写到用户独占的session中。
Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。
session中可以操作动态地变量
session设置值
session.setAttribute(name,name); 存的key是不确定的,key是name变量的值
session.setAttribute("name",name); 存的key是确定的,key是name
取出session中的某个值
session.getAttribute(name);取出的是key为name变量的值的value值
session.getAttribute("name"); 取出的是key为name的value值
destroy session 销毁本次会话
session.invalidate();用于注销、退出等功能(清空所有的session)
删除session中的某一个值
session.removeAttribute(name); 删除的是是key为name变量的值的值
session.removeAttribute("name");删除的是key为name的值
在不知道key的情况下取出session中的所有值(session遍历)
方法一:
java.util.Enumeration<String> e = session.getAttributeNames();
while(e.hasMoreElements()) {
String name=e.nextElement(); //name为key值
String cname=(String)session.getAttribute(name); //cname为value值
}
方法二:
//获取
session HttpSession session = request.getSession();
//获取键名
String[] names = session.getValueNames();
//循环遍历
for (int i = 0; i < names.length; i++) {
//打印
out.println(names[i] + “: ” + session.getValue(names[i]) + “<BR>”);
}
request的遍历:
[java] view plain copy
Map map = new HashMap();
map = request.getParameterMap();
for(Iterator iter = map.entrySet().iterator();iter.hasNext();){
Map.Entry element = (Map.Entry)iter.next();
String strKey = element.getKey().toString();
out.println("\nkey="+strKey);
String[] value=(String[])element.getValue();
if(value.length>0){
for(int i=0;i<value.length;i++)
out.println("\nvalue"+String.valueOf(i)+"="+value[i].toString());
}
int a=1;
}