• cooking和session


    ## Cookie ##
    
    # 基本概念;
    	>> 用于保存一次会话中的记录,存放在客户端(浏览器);
    		|-- "一次会话"
    			|-- 当客户端打开一个界面时
    			被称作一次会话,当浏览器未关闭时,其中所有的点击等
    			操作都称作一次会话;
    
    	>> Cookie由服务器发送到客户端;每次会话之后客户端会将cookie回发给服务器;
    		|-- 保存方式;
    			|-- 服务器端发送set-cookie响应头;
    		|-- 获取方式;
    			|-- 服务器端使用 reuest.getCookies();
    		
    
    # 使用方式;
    	>> request.getCookies(); 
    	>> response.addCookies( new cookie); set- cookie;
    	>> 能被访问的URL的特点;
    		|-- 浏览器会对数据进行判断;
    			> 如果是domain+path开头则传送cookie
    			> 否则不传送;
    
    # 案例;
    	>> 显示上次用户登录时间;
    		|-- 具体步骤;
    			> 保存用户访问网站的第一次时间;
    			> 创建一个Cookie对象;--- Cookie cookie= new Cookie("showTime",new Date().getTime()+"");
    			> 设置cookie路径;--- cookie.setPath(uri);
    				|-- 路径的问题;
    					|-- domain:localhost;
    					|-- cookie的数据储存格式;
    						|-- name	value		domain		path
    						    showTime    123234124	localhost	/day09...
    
    			> 设置cookie存活时间;--- cookie.setMaxAge(Integer.MAX_VALUE); //设置cookie的存活时间;
    								// 单位为秒;0代表删除该cookie;负数则不储存;
    			> 发送;response.addCookie(cookie);
    			> 获取cookie中的信息;--- Cookie[] cookies= request.getCookies();
    			> 遍历;
    
    
    	>> 保存用户名;
    		|-- 具体步骤;
    			> 用write(); 语句写好登录框;
    			> 定义user类,在类中声明三个属性:用户名/密码/remember
    				|-- remember属性定义成字符串;
    				在登录界面中将其设定为变量,如果被勾选该值会记录下"true";
    
    			> 使用BeanUtils封装从登录框中获取的用户参数;
    			> 验证用户名和密码是否正确;
    				|-- 然后验证记住用户名复选框是否被勾选;
    					|-- 如果勾选;
    						> 创建Cookie对象;
    						> 设置Cookie生命周期;
    						> 设置路径和应用名;
    						> 将Cookie发送给客户端;
    
    				|-- 勾选后提交之后跳转到登录界面并展示已经记录下用户名的界面;
    			
    			> 在登录之前,从Cookie中取出Cookie并作比较,如果存在就从中读取用户登录信息,并修改复选框的值;
    
    
    	>> 保存用户浏览商品信息;
    		|-- 具体步骤;
    			> 创建Book类,用于描述和保存商品基本信息;
    			> 创建BookDB类,用于模拟数据库,内置一个map集合存放商品信息并编号;
    			> 创建商品列表,点击查看详情之后,将信息保存到Cookie当中;
    				|-- 从map集合中取出每一本书;
    					|-- 通过遍历集合拿到映射关系;
    					|-- 添加超链接,通过链接拿到该商品的详细信息;
    						|-- 该链接跳转到商品存放Cookie的界面;
    			> 将浏览过的信息存放到Cookie当中;
    				|-- 设计一个队列模式来当作浏览记录的存放ID;
    				|-- 先遍历所有Cookie;
    				|-- 获取其中一个Cookie,和当前
    				|-- 通过getName()获取cookie名字;
    					> 如果该名字为ids,则表明该商品在Cookie存放界面被第一次预览;
    
    			> 然后获取到cookie的value并存入字符串,该字符串表现形式为 3-2-1 ;
    			> 通过【-】将其分割,获取到其中单个的di值;
    			> 按照该顺序排列浏览记录;
    
    			> 创建存放Cookie界面;
    				|-- 获取参数id
    				|-- 根据id获取到相应的商品;
    				|-- 显示明细,通过打印商品的toString()方法;
    				|-- 在Cookie中添加一个ids,用于标识该商品被预览及预览顺序;
    				|-- 设置相应特性;
    				|-- 将Cookie发往客户端;
    				|-- 设置返回商品列表界面的链接;
    
    ## Session ##
    
    # 基本概念;
    	>> 是由服务器创建,用于保存用户浏览数据的一个对象;
    	>> 和Cookie的区别;
    		|-- Cookie存放在客户端;Session存放在服务器端;
    		|-- 服务器只向客户端发送一个独立ID,该ID表明了客户端本次会话对应的的SessionID;
    		|-- 客户端第二次请求时会带上之前的ID,服务器根据对比该ID即可获取对应Seesion中存放的数据;
    
    # 生命周期;
    	>> tomecat为其提供的生命周期为30分钟,该周期可以由客户在配置文件中手动更改;
    
  • 相关阅读:
    [JLOI2015] 管道连接
    【知识点】斯坦纳树
    [ZJOI2010] 网络扩容
    【知识点】网络流常见模型
    [NOI2009] 植物大战僵尸
    [NOI2007] 货币兑换
    【知识点】分治相关算法
    [NOI2005] 月下柠檬树
    [HNOI2012] 射箭
    [SDOI2014] 向量集
  • 原文地址:https://www.cnblogs.com/bwcx1375/p/7087612.html
Copyright © 2020-2023  润新知