第一步先了解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中的数据,但是它是怎么获取的呢?
以上内容纯属虚构,