Session:服务器端技术。(Cookie:客户端技术)在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。
Session和Cookie的主要区别在于:
Cookie是把用户的数据写给用户的浏览器。
Session技术把用户的数据写到用户独占的session中。
Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。
IE禁用Cookie后的session处理
实验演示禁用Cookie后servlet共享数据导致的问题。
解决方案:URL重写
response.encodeRedirectURL(java.lang.String url)
用于对sendRedirect方法后的url地址进行重写。
response.encodeURL(java.lang.String url)
用于对表单action和超链接的url地址进行重写。
Session可用来完成简单的购物功能,用户登录,防止表单重复提交,一次性验证码。
部分代码:
//怎么获取创建Session
HttpSession session=request.getSession();
//存入数据
session.setAttribute("name", "wyd");
//从Session中获取name的值
HttpSession session=request.getSession();
String value=(String) session.getAttribute("name");
System.out.println("name"+value);