Javaweb--session

Session(重点)

什么事session:

·服务器会给每一个用户(浏览器)创建一个session对象;

·一个session独占一个浏览器,只要浏览器没有关闭,这个session就存在;

·用户登陆之后,整个网站它就可以访问!-》保存用户的信息,保存购物车的信息。。。。

session和cookie的区别:

·cookie是把用户的数据写给用户的浏览器,浏览器保存

·session把用户的数据写到用户独占session中,服务器端保存,(保存重要的信息,减少服务器资源的浪费)

·session对象由服务器创建

使用场景:

·保存一个登陆用户的信息

·购物车信息;

·在整个网站中经常使用的数据,我们将它保存在session中

创建session:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//解决乱码问题
		resp.setCharacterEncoding("utf-8");
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset-utf-8");
		//得到session
		HttpSession session = req.getSession();
		
		//给session中存东西
//		session.setAttribute("name", "朴灿烈");
		session.setAttribute("name", new Person("吴世勋",27));
		
		//获得session的ID
		String id = session.getId();
		//判断session是不是新创建的
		if(session.isNew()) {
			resp.getWriter().write("session创建成功,ID:"+id);
		}else {
			resp.getWriter().write("session以及在服务器中存在了,ID:"+id);
		}
//		//session创建的时候做了什么事情:
//		Cookie cookie = new Cookie("JSESSIONID",id);
//		resp.addCookie(cookie);
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(req, resp);
	}

获取数据

		// TODO Auto-generated method stub
		//解决乱码问题
		resp.setCharacterEncoding("utf-8");
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset-utf-8");
		//得到session
		HttpSession session = req.getSession();
		
//		String name = (String) session.getAttribute("name");
		
		Person person = (Person) session.getAttribute("name");
		
		System.out.println(person);
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(req, resp);
	}

会话自动过期:web.xml

<!-- 设置session默认的失效时间 -->
	<session-config>
		<!-- 1分钟后自动失效 -->
		<session-timeout>1</session-timeout>
	</session-config>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值