会话技术——Cookie和Session

本文深入探讨了Web会话中的Cookie和Session技术。首先介绍了两者的概念,接着详细讲解了Cookie的创建和发送过程,以及如何使用常见API管理Cookie。特别指出,Cookie在浏览器关闭后会丢失,除非通过setMaxAge()方法设置其有效期。随后,文章转向Session,阐述了Session对象的获取与创建、数据存取方法,以及Session的生命周期。最后,提到了Session持久化,并通过SessionServlet、SaveSession和GetSessionServlet三个示例展示了实际应用。
摘要由CSDN通过智能技术生成

 1、概念

2、Cookie

   1)创建和发送

CookieServlet.java

package net.pp.cookie;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "CookieServlet", urlPatterns = "/cookie")
public class CookieServlet extends HttpServlet {
    protected void doPost(HttpServletRequest reque
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Session 是 Web 应用程序中常用的一种机制,它用于存储用户的数据,以便在应用程序的不同页面中进行共享。Session 可以通过 cookie 或 URL 参数来实现,但是最常见的方式是使用 cookie。 在使用 session 时,服务器会为每个用户分配一个唯一的会话 ID,并将该 ID 存储在 cookie 中。每次用户访问网站时,服务器都会从 cookie 中获取会话 ID,然后将与该 ID 相关联的数据加载到 session 对象中。 下面是一个使用 session 的示例: ```python from flask import Flask, session, redirect, url_for, escape, request app = Flask(__name__) app.secret_key = 'mysecretkey' @app.route('/') def index(): if 'username' in session: username = session['username'] return 'Logged in as ' + username + '<br>' + \ "<b><a href = '/logout'>click here to log out</a></b>" return "You are not logged in <br><a href = '/login'></b>" + \ "click here to log in</b></a>" @app.route('/login', methods = ['GET', 'POST']) def login(): if request.method == 'POST': session['username'] = request.form['username'] return redirect(url_for('index')) return ''' <form action = "" method = "post"> <p><input type = "text" name = "username"/></p> <p><input type = "submit" value = "Login"/></p> </form> ''' @app.route('/logout') def logout(): session.pop('username', None) return redirect(url_for('index')) ``` 在上面的示例中,我们首先需要导入 Flask 和 session。然后,我们创建一个名为 app 的 Flask 实例,并将其密钥设置为 "mysecretkey"。这个密钥用于保护 session 数据,因此应该保持机密。 接下来,我们定义了三个路由函数: - index():该函数检查 session 是否包含一个名为 "username" 的键,如果是,则返回用户已登录的消息;否则,返回用户未登录的消息。 - login():该函数使用 POST 方法处理表单提交,并将输入的用户名存储在 session 中。然后,该函数将用户重定向到 index() 函数。 - logout():该函数从 session 中删除 "username" 键,并将用户重定向到 index() 函数。 在上面的示例中,我们使用了 Flask 的内置 session 对象来存储用户的数据。session 对象是一个类字典的对象,可以使用与字典相同的方式存储和访问数据。可以使用 session['key'] = value 来存储数据,使用 session.get('key') 来获取数据。 总之,使用 session 可以方便地在不同页面之间共享用户数据,并且可以通过设置密钥来保护敏感数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值