session和浏览器以及sessionAPI

HttpSession  和 客户端浏览器: 

 session与浏览器
session保存在服务器,而sessionId通过Cookie发送给客户端,但这个Cookie的生命是-1,即只在浏览器内存中存在,也就是说如果用户关闭了浏览器,那么这个Cookie就丢失了。
当用户再次打开浏览器访问服务器时,就不会有sessionId发送给服务器,那么服务器会认为你没有session,所以服务器会创建一个session,并在响应中把sessionId中到Cookie中发送给客户端。     
你可能会说,那原来的session对象会怎样?

当一个session长时间没人使用的话,服务器会把session删除了!这个时长在Tomcat中配置是30分钟,可以在${CATALANA}/conf/web.xml找到这个配置,当然你也可以在自己的web.xml中覆盖这个配置!
 

session的其他API

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>




  
    My JSP '01-session.jsp' starting page
    
	
	
	    
	
	
	

  
  
  
  <%
  	String id=  session.getId();
  	out.println(id);
  	
  	
  	// 获得session 的上次访问的时间: 
  	long time = session.getLastAccessedTime();
  	String timeStrr = new Date(time).toString();
  	out.println(timeStrr);
  	
  	//获得最大的不活动时间“ 
  	int num = session.getMaxInactiveInterval();
  	out.println(num);
  	
  	
  	// session 对象的销毁: 
  	session.invalidate() ;
  	
  	
   %>
  

URL重写:

如果客户端浏览器禁用cookie,那么调用下面这个方法可以智能判断

客户端禁用cookie: 携带参数

客户端没有禁用:    不携带参数

session和浏览器以及sessionAPI_第1张图片

 

 

你可能感兴趣的:(java)