Cookie与Session

 

1.什么是会话?

会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。

保存会话数据有两种技术:Cookie   Session

2.1 现在先介绍如何使用Cookie技术:

Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。

Cookie应用代码:(显示上次访问时间)

在CookieDemo中的doGet方法中的步骤如下:

response.setCharacterEncoding("UTF-8");

       response.setHeader("Content-Type", "text/html;charset=UTF-8");

       PrintWriter out = response.getWriter();

       //你得到上次访问的cookie对象

       out.print("您上次访问的时间是:");

      

       Cookie cookies[] = request.getCookies();

       for(int i=0;cookies!=null && i<cookies.length;i++){

           Cookie cookie = cookies[i];

           if("lastTime".equals(cookie.getName())){

              String lastTime = cookie.getValue();

              Date date = new Date(Long.parseLong(lastTime));

              out.print(date.toLocaleString());

           }

       }

       //记录这次cookie信息 记录你这次访问日期

       //创建Cookie

       Cookie ck = new Cookie("lastTime",System.currentTimeMillis()+"");

       /*有效日期为0时 创建cookie到会话结束 删除cookie*/

       ck.setMaxAge(3600);//1小时

       ck.setPath("/20111024/servlet/cookieDemo");

       //发送给你的响应

       response.addCookie(ck);

      

2.2 Session技术:

Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。

在DemoServlet中doGet方法中步骤如下:

/*怎么获取 创建session*/

       HttpSession session = request.getSession();

       //存入数据

       session.setAttribute("name","redarmy");

 

在Demo01Servlet的doPost方法中步骤如下:

HttpSession session = request.getSession();

       String value = (String) session.getAttribute("name");

       System.out.println("name"+value);

先访问DemoServlet再访问Demo01Servlet.

3. Session和Cookie的主要区别在于:

Cookie是把用户的数据写给用户的浏览器。

Session技术把用户的数据写到用户独占的session中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值