重点笔记会话关键技术.doc
《重点笔记会话关键技术.doc》由会员分享,可在线阅读,更多相关《重点笔记会话关键技术.doc(83页珍藏版)》请在咨信网上搜索。
1、第36讲(会话技术简介)u 什么是会话?(会话是针对一种网站而言,不是针对各种网站。)基本概念:指顾客开一种浏览器,访问一种网站,只要不关闭该浏览器,不论该顾客点击多少个超链接,访问多少资源,直到顾客关闭浏览器,整个这个过程咱们称为一次会话。例如打电话,只要电话不断就算一次电话,至于过程中和多少人说过话,说多长时间,都算一次。点一次超链接就是一种request,不也许保存起来。因此要用会话来保存数据。/如何保存顾客上次登录时间如何显示顾客浏览历史如何把登录顾客名和密码保存到电脑,下次登录,不需要重新输入u 解决之道cookieCookie是客户端技术,服务器把每个顾客数据以cookie形式写给
2、顾客各自浏览器。当顾客使用浏览器再去访问服务器中web资源时,就会带着各自数据去。这样,web资源解决就是顾客各自数据了。服务器在客户端保存顾客信息,例如登录名,密码等.就是cookie,这些信息就像是小甜饼同样,数据量并不大,服务器端在需要时候可以从客户端读取,保存在客户端浏览器缓存目录下。Cookie原理示意图Cookie创立是在服务器创立,存储是在浏览器这头存储。Class Cookie/Interface HttpServletResponse/演示Cookie工作public class CreateCookie extends HttpServlet public void doG
3、et(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException response.setContentType(text/html;charset=utf-8);response.setCharacterEncoding(utf-8);PrintWriter out = response.getWriter();/创立cookie(api)Cookie cookie= new Cookie(name,mingcheng1);/设立cookie生命周期cookie.set
4、MaxAge(3600);/把cookie信息回写给浏览器response.addCookie(cookie);/在ie访问http:/localhost:8888/cookie1/CreateCookie,用HttpWatch抓包得到信息(response):Interface HttpServletRequest/public class ReadCookie1 extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletExcepti
5、on,IOException response.setContentType(text/html;charset=utf-8);response.setCharacterEncoding(utf-8);PrintWriter out = response.getWriter();/读取所有cookie信息,再选中你要cookieCookie cookies=request.getCookies();System.out.println(cookies.length);/在ie访问http:/localhost:8888/cookie1/ReadCookie1,用HttpWatch抓包得到信息(
6、request):在控制台浮现信息:/for(int i=0;i补讲一种md5算法:请人们注意,后来咱们密码都要使用加密存储,在验证密码时候,对顾客输入密码,进行md5加密,然后再到数据库去验证/public class Servlet1 extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException response.setContentType(text/html;charset=utf-8);r
7、esponse.setCharacterEncoding(utf-8);PrintWriter out = response.getWriter();/先获取cookie/假设咱们保存上次登录时间cookie lasttime -11-11 12:12:12/这里咱们要考虑一种状况:顾客第一次登陆 您是第一次登陆.Cookie cookies=request.getCookies();boolean b=false;/假设没有lasttime cookieif(cookies != null)/保证有cookie,才去遍历for(Cookie cookie:cookies)/取出名String
8、 name=cookie.getName();if(lasttime.equals(name)/显示out.println(您上次登录时间是:+cookie.getValue();/更新时间/把当前日期保存cookieSimpleDateFormat simpleDateFormat=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String nowTime=simpleDateFormat.format(new java.util.Date();cookie.setValue(nowTime);cookie.setMaxAge(7*3600*24);/保
9、存一周response.addCookie(cookie);b=true;break;if(!b)/没有找到out.println(您是第一次登陆.);/把当前日期保存cookieSimpleDateFormat simpleDateFormat=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String nowTime=simpleDateFormat.format(new java.util.Date();Cookie cookie=new Cookie(lasttime,nowTime);cookie.setMaxAge(7*3600*24);/保存
10、一周response.addCookie(cookie);/打开登录页面时候,自动填写该顾客顾客名和密码(最佳单开一种项目)/点击登录后再回到Login页面点击刷新,顾客id已自动填写:/点一下商品名,就弹窗商品信息,同步在刷新主界面时候,能显示出看了哪些商品,并且还要加一种功能,最后看商品要放到最前面去,当浏览过商品超过了四个后来,只保存四个。/u cookie细节一种浏览器最多放入300cookie,一种web站点,最多20cookie,并且一种cookie大小限制在4kcookie生命周期再阐明:1.cookie默认生命周期是会话级别2.通过setMaxAge() 可以设立生命周期set
11、MaxAge(正数),即多少秒后该cookie失效setMaxAge(0),删除该cookiecookie存储中文,怎么解决存储:String val=.URLEncoder.encode(铭城,utf-8);Cookie cookie= new Cookie(name,val);取出:String val=.URLDecoder.decode(cookie.getValue(),utf-8);out.println(name=+val);案例:/点击刷新后:特别阐明:如果该web应用只有一种cookie,则删除该cookie后,在浏览器暂时文献夹下没有该cookie文献,如果该web应用有各
12、种cookie,则删除一种cookie后,文献还在,只是该cookie没有setMaxAge(负数),相称于该cookie生命周期是会话级别。/第39讲(session技术)=张三和李四她们购买商品不同样,她们购物车中显示商品也不同样,这是怎么实现?此外一种问题,不同顾客登录网站后,不论该顾客浏览该网站哪个页面,都可显示登录人名字,同样可以随时去查看自己购物车中商品。u session为什么有?问题1:如何实当前不同页面,可以去查看信息(例如说购物车),同步还要实现不同顾客看到信息是自己.对session阐明:1. session是存储在服务器内存中2. 一种顾客浏览器,独享一种session
13、域对象3. session默认生命周期是30minInterface HttpSession/Interface HttpServletRequestF:tomcatapache-tomcat-8.0.28confweb.xml/public class Servlet1 extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException response.setContentType(text/html
14、;charset=utf-8);response.setCharacterEncoding(utf-8);PrintWriter out = response.getWriter();/访问session当发现没有session时候,就会自动创立sessionHttpSession session=request.getSession();/给该session放入属性session.setAttribute(uname,宋江);/session生命周期(默认30min,你也可以修改)out.println(创立session,并放入了一种属性);/public class Servlet2 e
15、xtends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException response.setContentType(text/html;charset=utf-8);response.setCharacterEncoding(utf-8);PrintWriter out = response.getWriter();/获取sessionHttpSession session=request.getSessi
16、on();/获取String uname=(String) session.getAttribute(uname);if(uname=null)out.println(session 中没有uname);elseout.println(uname=+uname);/先访问Servlet1:再访问Servlet2,在搜狗和ie浏览器中返回成果不同样,证明了一种顾客浏览器,独享一种session域对象/?如果同一种顾客浏览器,向设立一种属性时候,如果名字相似了,会浮现什么状况?结论:会替代该对象值。/演示public class Servlet3 extends HttpServlet publi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重点 笔记 会话 关键技术
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。