HttpSession对象

  • HttpSession对象
  • 1、Session 的作用
  •  Session 的作用就是为了标识一次会话,或者说确认一个用户;
    
  •  并且在一次会话(一个用户的多次请求)期间共享数据。
    
  •  可以通过 req.getSession()方法,来获取当前会话的 session 对象。	
    
  • 2、JSESSIONID
  •  SessionId 是为了标识一次会话的唯一标志。
    
  •  每当一次请求到达服务器,如果开启了会话(访问了 session),服务器第一步会查看是否从客户端回传一个名为 JSESSIONID 的 cookie;
    
  •  如果JSESSIONID不存在,则服务器会新建session对象,并重新标识;
    
  •  如果JSESSIONID存在,服务器会将客户端回传过来的ID去服务器中查找与之对应的session对象
    
  •  	如果没找到,则服务器会新建session对象,并重新标识;
    
  •  	如果找到,则获取 session对象,响应给客户端;
    
  • 3、Session域对象
  •  通过 setAttribute(name,value);方法向域对象中添加数据,
    
  •  通过 getAttribute(name) 从域对象中获取数据,
    
  •  通过 removeAttribute(name)从域对象中移除数据。
    
  • 4、Session的失效
  •  1、达到最大不活动时间
    
  •  	Tomcat中默认最大不活动时间为30分钟。
    
  •  	可以自行修改默认不活动时间,但不建议。在web.xml文件中
    
  •  	<session-config>
     		<session-timeout>30</session-timeout>
     	</session-config>
     2、自己设定过期时间
     	通过 session.setMaxInactiveInterval(int);来设定 session 的最大不活动时间,单位为秒。
     	通过 getMaxInactiveInterval();方法来查看当前 Session 对象的最大不活动时间。
     3、立即失效
     	手动销毁session对象	session.invalidate();
     4、关闭浏览器
     	session的底层依赖于cookie,默认关闭浏览器失效。
     5、关闭服务器
     	非正常关闭服务器时才会失效。
     	如果是正常关闭服务器,session会被钝化到本地磁盘,下次访问时会从本地磁盘中活化出来。
    
  • @author Lisa Li

*/
@SuppressWarnings(“serial”)
public class Session04 extends HttpServlet {

@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	System.out.println("Session04...");
	
	// 创建或获取session对象
	HttpSession session = req.getSession();
	System.out.println(session.getId());
	
	// 当前 Session 对象的最大不活动时间
	System.out.println(session.getMaxInactiveInterval());
	
	// 设置Session 对象的最大不活动时间
	session.setMaxInactiveInterval(150);
	
	// 手动销毁session
	// session.invalidate();
	
	
	
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值