码迷,mamicode.com
首页 > 其他好文 > 详细

123

时间:2018-12-26 12:55:20      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:支持中文   round   细节   Servle   java代码   otto   数据保存   简化   持久化存储   

Cookie & Session(简化版)
 
  • 什么是cookie?
    客户端(浏览器)会话技术,将数据保存到客户端
    • 什么是会话?
      浏览器给服务器发送请求,会话建立。浏览器关闭,会话停止。
      一次会话包含多次请求和响应?
      • 会话有几种方式?
        两种。
        ?1.客户端会话技术:cookie
        2.服务器端会话技术:sess?ion
    • cookie的原理是什么?
      基于 响应头set-cookie 和 请求头cookie 实现
    • cookie的使用步骤是什么?
      • 创建Cookie对象,绑定数据
        new Cookie(String name , String value)??
      • 发送Cookie对象
        response.addCookie(Cookie cookie)
      • 获取Cookie,拿到数据
        Cookie[] request.getCookies()
    • Cookie的细节有哪些?
      • 一次可不可以发送多个cookie?
        可以。创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可。
      • cookie在浏览器中保存多长时间?
        默认情况下,浏览器关闭,cookie数据被销毁。但可以通过setMaxAge(int seconds)方法进行持久化存储
      • cookie能不能存中文?
        tomcat8之前,不能存中文。tomcat8之后,开始支持中文数据,但是特殊字符还不支持。建议用url编码存储,url解码解析。
      • cookie能否共享?
        • 在一个tomcat服务器中部署多个web项目,这些项目中的cookie能否共享?
          默认情况下,不能共享。但可以使用setPath方法。设置cookie的获取范围。默认情况下,设置当前的虚拟目录。如果要共享,可以将path设为“/”。
        • 不同的tomcat服务器间,cookie能否共享?
          如果设置一级域名相同,则可以共享。方法:setDomain(String path).例如:setDomain(".baidu.com"),那么tieba.baidu.com和news.baidu.com中的cookie可以共享。
    • cookie的特点是什么?
      • 存储的数据在客户端浏览器
      • 浏览器对单个cookie有大小限制(4kb),以及同一个cookie下涉及的域名也有限制。
    • cookie的作用是什么?
      • 用于存储少量不太敏感的数据
      • 在不登录的情况下,完成服务器对客户端的身份识别。
  • 什么是Session?
    服务器端会话技术,在会话的多次请求间共享数据,将数据保存在服务器端的对象中。
    • Session的原理是什么?
      session的实现是依赖于cookie的
    • Session的使用步骤是什么?
      • .获取HttpSession对象
        HttpSession session = request.getSession();
      • 使用HttpSession对象?
        1.Object getAttribute(String name)
        2.void setAttribute(String name,Object value)?
        3.void removeAtrribute(String name)?
    • Session的细节有哪些?
      • 当客户端关闭。服务器不关闭。两次获取的session是否为同一个?
        默认情况下不是。但可以通过创建Cookie,键为JSESSIONID,设置最大存活时间,让cookie持久化存储,使session相同。
        Cookie c = new Cookie("JSESSIONID",session.getId());
        c.setMaxAge(60*60);
        ?response.addCookie(c);
        ?
      • 客户端不关闭,服务器关闭后,两次获取的session是同一个吗?
        不是同一个。服务器关闭后,为确保数据不丢失,tomcat会自动完成session的钝化和session的活化。
        • 什么是session的钝化?
          在服务器关闭前,将session对象系列化到硬盘上。
        • 什么是session的活化?
          在服务器启动后,将ession文件转化为内存中的session对象。
      • session什么时候被销毁?
        • 服务器关闭
        • session对象调用invalidate(),可以让session自杀。
        • 30分钟后,session会默认失效
          <session-config>
          <session-timeout>30</session-timeout>
          </session-config>
      • session的特点是什么?
        • 存储的是会话中多次请求的数据,存在服务器端
        • 可以存储任意类型,任意大小的数据。
  • Session与Cookie有什么区别?
    • session存储数据在服务器端,cookie存储在客户端
    • session数据没有大小限制,cookie有
    • session数据安全,cookie相对不安全。
  • JSP是什么?
    Java server pages :java服务器端页面。
    可以理解为,一个既可以写html,也可以写Java代码的特殊页面
    用于简化书写??
    • JSP的原理是什么?
      本质上就是Servlet
    • JSP的脚本是什么?
      JSP定义Java代码的方式
      • JSP的脚本如何定义?
        • <% 代码 %>
          services方法可以定义什么,该脚本就能定义什么
        • <%! 代码 %>
          在jsp转换后的Java类的成员位置
        • <%= 代码 %>
          会输出到页面,输出语句可以定义什么,该脚本就可以定义什么
    • JSP的内置对象是什么?
      在jsp页面中,不需要获取和创建,可以直接使用的对象
      • Jsp有几个内置对象?
        9个,今天只学3个
        • request:请求
        • response:响应
        • out
          • out是什么?
            字符输出流对象
          • out有什么作用?
            将数据输出到页面,和 response.getWriter() 类似
            • response.getWriter()和out.write()有什么区别?
              • 在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据。
              • response.getWriter()数据输出永远在out.write()之前

 

123

标签:支持中文   round   细节   Servle   java代码   otto   数据保存   简化   持久化存储   

原文地址:https://www.cnblogs.com/ccav1/p/10178475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!