(六)web四君子:Request&Response以及Cookie&Session

(六)web四君子:Request&Response以及Cookie&Session

.

Request:客户端请求
Response:服务器响应
Cookie:客户端会话技术
Session: 服务器端会话技术

1. Request与Response

  1. 基本概念
    1)Request和Reponse对象是由服务器创建的,我们来使用
    2)Request对象是来获取请求消息;Reponse对象是来设置响应消息

  2. Request知识点

  3. Reponse知识点

2.Cookie与Session

  1. 会话技术
    Cookie与Session都属于会话技术。利用该技术可以做免登陆等功能。

    如下图是cookie的原理示例图:

    如下图是Session的原理示例图(Session依赖于Cookie,将Session对象的id存入在Cookie):

  2. CookIe知识点

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    //2.1设置cookie
    @WebServlet("/CookieDemo04")
    public class CookieDemo04 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //1.创建Cookie对象
    Cookie c1 = new Cookie("msg","setMaxAge");
    //2.设置Cookie的存活时间
    c1.setMaxAge(30); //将cookie持久化到硬盘,30秒后会自动删除cookie文件
    //3.发送Cookie
    response.addCookie(c1);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    this.doPost(request, response);
    }
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //2.2获取cookie
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //3.获取Cookie
    Cookie[] cs = request.getCookies();
    if(cs != null){
    for(Cookie c:cs){
    String name = c.getName();
    String value = c.getValue();
    System.out.println(name + "; " + value);
    }
    }
    }
  3. Session知识点
    1)Session用于存储一次会话的多次请求的数据,数据存储在服务器端;
    2)可以存储任意类型,任意大小的数据;

    1
    2
    3
    4
    5
    6
    7
    //3.1Session存储数据
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //1.获取session
    HttpSession session = request.getSession();
    //2.存储数据
    session.setAttribute("msg","hello session");
    }
    1
    2
    3
    4
    5
    6
    7
    8
    //3.2Session获取数据
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //1.获取session
    HttpSession session = request.getSession();
    //2.获取数据
    Object msg = session.getAttribute("msg");
    System.out.println(msg);
    }
  4. Session与Cookie区别
    1)session存储数据在服务器端,Cookie在客户端
    2)Session没有数据大小限制,Cookie有
    3)Session数据安全,Cookie相对不安全

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×