(1)HttpSession概述
HttpSession对象由服务端创建 保存在服务端 (服务端技术)
session底层依赖Cookie
当首次使用session时,服务器端创建session,session是保存在服务器端的,而给客户端的session的id(一个cookie中保存了sessionid)客户端带走的是sessionid,而数据是保存在session中
当客户端再次访问服务器时 在请求中带上sessionid,而服务器会通过sessionid找到对应的session 无需在创建新的session
(2)获得session对象
在jsp中 可以直接使用 session对象 因为session是jsp的内置对象 和out一样
Servlet中 需要request对象使用getSession();方法获得 例如: request.getSession();
(3)session域对象使用
方法: setAttribute(String name,Object value); //存储一个域属性
getAttribute(String name); //通过域对象名称获得值
removeAttribute(String name); //通过域对象名移除域属性
getAttributeNames(); //获得是所有的域对象名称 返回的是一枚举类型
目前为止学习了三个域对象
HttpServletRequest 一个请求创建一个request对象 所以在同一个请求中共享数据 (请求转发)
ServletContext 一个web应用创建一个ServletContext对象 在整个web应用中共享数据
HttpSession 一个会话创建一个session对象 在同一个会话中的多个请求中共享数据
案例:登录案例
l login.jsp:登录页面,提供登录表单;
l Succ1.jsp:主页,显示当前用户名称,如果没有登录,显示您还没登录;
l Succ2.jsp:主页,显示当前用户名称,如果没有登录,显示您还没登录;
Servlet</