Cookie&Session

会话技术:

会话:从你打开客户端第一次访问服务器端,到其中任何一方关闭为止,称为一次会话

在一次会话期间:客户端可以和服务器端进行多次交互,多次请求多次响应之间产生的缓存可以实现数据共享

Servletcontext 作用范围/生命周期---->服务器开启到服务器关闭,在整个web应用中只有一个context对象

Request域对象 作用范围/生命周期--->从客户端请求服务器端request域对象建立,第一次请求结束的一刹那,request域对象销毁

会话缓存机制  可以完美的弥补了以上两个域对象的缺点了。

以使用方式分为两种:1.Cookie   2.Session

Cookie会话机制:

  Cookie:小点心  小甜点  

  客户端会话机制,数据存储到客户端缓存中

Cookie的快速入门:

  1. 创建一个Cookie对象   Cookie(String  name, String  value)键值对形式

     Cookie  Cookie  = new Cookie(“name”,“value”)

  2.Cookie数据发送到客户端   通过响应的方式发送到客户端

     Void addCookie(Cookie cookie)

            response.addCookie(cookie);

     3.服务器端接收一下客户端传过来的cookie信息,查看有没有发送成功

 Cookie[] getCookie()

     通过请求的方式接收cookie信息 遍历

 

cookie共享

  1. 假设客户端关闭,服务器保持打开状态,能不能实现数据共享? 不能
  2. 假设服务器端关闭,客户端保持打开状态,能不能实现数据共享?能

Cookie 缓存生命周期:

   Cookie缓存可以在浏览器中存储多长时间?   默认为会话缓存,当客户端关闭cookie缓存消失

持久化缓存:

public void setMaxAge(int expiry)  整数:持久化缓存 表示cookie将在数秒之后消失

负数:默认值  负数为会话机制  客户端关闭,cookie消失

零:立即删除当期的cookie信息、

 

Cookie信息安全问题:

你的信息存储在客户端,你的信息对大众开放,没有隐私

不会把重要信息存储在客户端中,存储在服务器

Cookie存储问题 信息默认情况下只能存储20cookie值,每一个cookie值最大能存储4KB

存储的数据长度有限,存储的内容大小受限制

Cookie 中文信息:

不会乱码:在Tomcat8版本之前,存储中文信息会乱码

          Tomcat8版本之后,存储中文信息不会乱码

 

 

Session 重点

 

服务器会话缓存机制   数据存储在服务器中;

 

Session 快速入门

 

1.创建session对象    HttpSession

 

通过请求   HttpServletRequest    getSession()

 

如果服务器有session对象,返回一个session对象  如果没有session对象,立马创建一个session对象

 

2.使用HttpSession对象

 

      void setAttribute(key,value) 类似于servletContext  Request对象

3.取出session对象中的值 getAttribute(key)

 

session共享

 

1.假设客户端关闭,服务器保持打开状态,能不能实现数据共享? 不能

 

2.假设服务器端关闭,客户端保持打开状态,能不能实现数据共享?不能

 

Session缓存生命周期:

  

  Session默认生命周期为30分钟

 

  Session失效的情况:

 

  1. 服务器关闭
  2. 超时 timeout
  3. 手动失效  session.invalidate()

 

 

       Session缓存可以在浏览器中存储多长时间?

 

       客户端关闭,对于之前的session对象不能拿到,你之前的session对象没有消失

 

       服务器关闭,对于之前的session对象不能拿到,你之前的session对象消失了

 

       设置session对象的生命周期: Tomcat服务器本身可以自动实现钝化和活化,IDEA不会自动实现钝化和活化

 

           Session的钝化(把内存中存储的缓存值通过序列化存储到磁盘中)

 

           Session 的活化 (把磁盘中存储的值通过反序列化存储到内存中)

 

 

 

 

JSP入门知识:

 

Jsp  Java server page  使用Java语言编写的运行在服务器端上的页面

 

Html 页面 可以直接通过浏览器打开

 

动态资源 servlet  jsp

 

动态页面  能够发生改变的那些内容  我们称之为动态资源

 

既可以定义HTML标签,又可以定义Java代码

 

简化我们的书写

 

Jsp本质就是servlet

 

Jsp的脚本

 

Js 就是一个脚本语言

 

<% 写在这里面的代码就称为jsp脚本 %>

 

方式:

 

  1. <% 代码 %> 定义的Java代码,其实就是在service方法中写的代码
  2. <%! 代码 %>  定义的Java代码  类中方法外  成员信息  可以声明成员变量和成员信息

 

<%= 代码 %>  定义代码  out对象输出的信息   输出在页面上  输出语句

 


posted @ 2020-07-13 22:09  怎漾  阅读(117)  评论(0)    收藏  举报