Cookie和Session这两个小东西,慢慢理解才能消化

第一步先了解cookie

Cookie是一种浏览器和服务器交互数据的方式。Cookie是由服务器端创建,但是不会保存在服务器。创建好之后,发送给浏览器。浏览器保存在用户本地。下一次访问网站的时候,就会把该Cookie发送给服务器。但是光看概念是理解不透彻的,所以还是一起试验出理解吧

首先在编译工具上创建一个setCookie.jsp,然后编写创建cookie的代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="javax.servlet.http.Cookie"%>
   
  <% 
  Cookie c=new Cookie("name","huhu");
  c.setMaxAge(60*24*60);
  c.setPath("/");
  response.addCookie(c);
  %>

 <a href="getCookie.jsp">跳转到获取cookie的页面</a>
  

编写好之后我们去浏览器看效果(我这里用的火狐)
这是整体效果

这是
我们主要看这里,这是第一次访问页面,第二次就会发生改变
在这里插入图片描述
刷新一下页面
在这里插入图片描述
JSESSIONID 这个不是我们自己设置的cookie,这是tomcat设置的cookie,只要记住这是tomcat服务器搞得就好了,至于为什么刷新一次响应会发生变化,看图
在这里插入图片描述
自己慢慢悟吧,毕竟我理解的比较浅

然后我们现在创建一个getCookie来接收一下信息

<%@ page language="java"  contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="javax.servlet.http.Cookie"
%>

<%
  Cookie[] cookies=request.getCookies();
  if(null != cookies)
	  for (int d=0; d<=cookies.length-1;d++){
		  out.print(cookies[d].getName()+":"+cookies[d].getValue()+"<br>");
	  }

%>
 

然后我们在浏览器看看效果,点击一下刚刚页面的跳转超链接
在这里插入图片描述
然后就可以查看到cookie中的数据了

第二步看看session

Session对应的中文翻译是会话。
会话指的是从用户打开浏览器访问一个网站开始,无论在这个网站中访问了多少页面,点击了多少链接,都属于同一个会话。
直到该用户关闭浏览器为止,都属于同一个会话。

现在还是实验出结论,首先我们创建一个setSession.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="javax.servlet.http.Cookie"%>
 
<%
   session.setAttribute("name", "teemo");
%>
<a href="getSession.jsp">跳转到获取session的页面</a>

然后访问可以看到调试的cookie不变,还是和上面的图片相同

然后我们创建一个getSession来接收session的数据

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="javax.servlet.http.Cookie"%>
 
<%
    String name = (String)session.getAttribute("name");
%>
 
session中的name: <%=name%>

然后点击超链接
会出现
在这里插入图片描述
可以获得session中的数据,但是它是怎么获取的呢?
以上内容纯属虚构,

如果这都不算爱

我有什么好悲哀

谢谢你的慷慨

是你自己活该

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值