一、Session对象 概念
Session在网络中被称为会话。
由于HTTP协议(超文本传输协议)是一种无状态协议,也就是当一个客户向服务器发出请求,服务器接收请求,并返回响应后,该连接就结束了,而服务器并不保存相关的信息。
为了弥补这一缺点,HTTP协议提供了Session。
session方法
//session
//记录用户的登录状态/信息
//session.setAttribute("uname", name);//键String,值Object
//设置session的最大有效非活动时间 10秒
//session.setMaxInactiveInterval(10);
//打印session的编号:862FF3298197894980E3B9C62B093009
//System.out.print(session.getId());
<%
//让session失效
session.invalidate();
//返回登录
response.sendRedirect("/q4/login.jsp");
%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//session
//取出登录信息
String name=(String)session.getAttribute("uname");//根据键取得值
//开始判断
if(name==null){//没拿到值 说明没登录
response.sendRedirect("/q4/login.jsp");
}
%>
二、Cookie 概念
Cookie的中文意思是“小甜饼”,然而在互联网上的意思与这就完全不同了。它和食品完全没有关系。
在互联网中,Cookie是小段的文本信息,在网络服务器上生成,并发送给浏览器。通过使用cookie可以标识用户身份,记录用户名和密码,跟踪重复用户等。浏览器将cookie以key/value的形式保存到客户机的某个指定目录中。
通过cookie的getCookie()方法即可获取到所有cookie对象的集合;
通过cookie对象的getName()方法可以获取到指定名称的cookie;
通过getValue()方法即可获取到cookie对象的值。
Cookie的作用:
a. 对特定对象的追踪;
b. 统计网页浏览次数;
c. 简化登录。
安全性能
容易信息泄露。
--文本,可破解,安全性不高
--Cookie具备加密
个cookie对象发送到客户端,使用response对象的addCookie()方法。
//Cookie
Cookie c=new Cookie("xname",name);//name,value
//设置Cookie的有效期 10s 一周内免登录
//c.setMaxAge(60*60*24*7); //复选框
//加入响应
response.addCookie(c);
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//拿到所有的Cookie
Cookie[] cs=request.getCookies();
//假设法
boolean f = false;//假设没有登录
if(cs!=null){
//循环遍历
for(Cookie c:cs){//数组或者集合的数据类型 变量名:数组名或者集合名
if("xname".equals(c.getName())){//说明令牌对了 说明登录了
//if("admin".equals(c.getValue())){//×
f = true;
}
}
}
if(f==false){
response.sendRedirect("/q4/login.jsp");
}
%>