黑马程序员技术交流社区

标题: 周记 [打印本页]

作者: touchmyth    时间: 2018-5-30 19:21
标题: 周记
【会话技术】
 什么是会话 :用户打开一个浏览器访问页面,访问网站的很多页面,访问完成后将浏览器关闭的过程称为是一次会话.
 常见的会话技术:
* Cookie :将数据保存到客户端浏览器.
* Session :将数据保存到服务器端.
 为什么使用会话技术?
* 私有的数据,购物信息数据保存在会话技术中.
参见图一和图二
 使用会话技术:
【Cookie技术的使用】
 向浏览器保存数据:
HttpServletResponse有一个方法:
* void addCookie(Cookie cookie);
 获得浏览器带过来的Cookie:
HttpServletRequest有一个方法:
* Cookie[] getCookies();
 创建一个Cookie对象:
* Cookie(String name,String value);
【JSP的简单概述】
 什么是JSP :Java Server Pages(Java服务器端页面).JSP = Java代码 + HTML的元素 + JSP内置东西
 SUN公司为什么推出JSP动态网页开发技术:
* SUN公司推出的Servlet技术进行动态网页开发.发现Servlet自身有不足没有办法与ASP,PHP技术竞争.想在动态网页中输出表单.在Servlet中获得PrintWriter out = response.getWriter();
* out.println(“<form action=’’ method=’’>”);
* out.println(“</form>”);
* SUN又推出了动态的网页开发技术就是JSP.
 JSP的执行过程:
* JSP会被翻译成Servlet,编译成class进行执行的.
 JSP的嵌入Java代码:JSP的脚本元素
* <%!    %>  :翻译成类中的成员部分. 定义变量,定义方法,定义类.Servlet是线程不安全的,尽量少在类中定义成员属性!!
* <%     %>  :翻译成类的service方法内部的内容. 定义变量,定义类,直接写代码块.
* <%=    %>  :翻译成service方法内部的out.print();

Cookie的常用的API:
* getName();
* getValue();
* setDomain(String domain); -- 设置Cookie的有效域名. //  www.baidu.com  music.baidu.com
* setPath(String path); -- 设置Cookie的有效路径.
* setMaxAge(int maxAge); -- 设置Cookie的有效时间.
 Cookie的分类有关:
* 会话级别的Cookie:默认的Cookie.关闭浏览器Cookie就会销毁.
* 持久级别的Cookie:可以设置Cookie的有效时间.那么关闭浏览器Cookie还会存在. 手动销毁持久性Cookie. setMaxAge(0)---前提是有效路径必须一致.
【Session的概述】
Cookie本身是有大小和个数的限制.Session没有限制.Cookie的数据保存在客户端,Session数据保存在服务器端.
 Session的执行原理:基于Cookie的.
 使用Session:
* 获得Session:
    * request.getSession();
Session是域对象:
session何时创建和销毁?作用范围:
* 创建:服务器端第一次调用getSession()创建session.
* 销毁:三种情况销毁session:
    * 1.session过期. 默认过期时间为30分钟.
    * 2.非正常关闭服务器.如果正常关闭session序列化到硬盘.
    * 3.手动调用session.invalidate();
* 作用范围:多次请求.(一次会话)






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2