Session

1、作用

Session的作用就是在服务器端保存一些用户的数据,然后传递给用户一个名字为JESSIONID的Cookie,这个JSEEIONID对应这个服务器中的一个Session对象,通过它就可以获取到、保存用户信息的session。(session中的数据存储到硬盘上即钝化)

session 的时效问题,默认时间为30分钟,可以在服务器的web.xml配置中修改
<session-config>
    <session-timeout>30</session-timeout>
</session-config>
 

2、运行原理

1、第一次向服务器发送请求时在服务器端创建一个session对象,该对象有一个全球唯一的ID
2、在创建Session对象的同时会创建一个特殊的Cookie对象,该Cookie对象的名字是一个固定值:JESSIONID
    该Cookie对象的value值就是Session对象的ID值,并将该Cookie对象发送给浏览器
3、以后浏览器再发送请求就会携带着这个特俗的Cookie对象
4、服务器获取Cookie对象的值以后在服务器端寻找与之对应的session对象以此来区分不同的用户

3、示例

 

CreateOrGetSession.java

package servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * 创建或者获取Session
 */
public class CreateOrGetSession extends HttpServlet {
	private static final long serialVersionUID = 1L;
  
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//创建session对象
		HttpSession session = request.getSession();
		//获取session的ID
		String id = session.getId();
		System.out.println(id);
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

在servlet中获取session并使其失效

	    //获取Session对象
		HttpSession session = request.getSession();
		//使session对象失效
		session.invalidate();
		//重定向到首页
		response.sendRedirect(request.getContextPath()+"/index.jsp");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yongfeicao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值