事件(存储事件)

事件的存储

1.cookie

(1)cookie的构成:

       名称:一个唯一确定cookie的名称

       值:储存在cookie中的字符串

       域:cookie对于哪个域是有效的

       路径:指定域中的指定路径

       失效时间:cookie何时应该被删除的时间戳

       安全标志:指定后,cookie只有在使用SSL连接时才发送到服务器(设置secure标志)

(2)cookie的限制

       绑定在特定域名下,无法跨越

       所有cookie的累加长度限制为4KB,超长会被忽略

(3)JS中的cookie  ==>document.cookie

        获取:返回当前页面可用的所有cookie的字符串,由分号和空格隔开的一系列名值对                      ( name1=value1;name2=vlaue2;)

        添加:cookie的值必须写成key=value的形式,且等号两边不能有空格;

                   写入时必须有分号、逗号和空格进行转义;

                   一次只能写入一个cookie,并且写入不是覆盖,而是添加;

       cookie的属性:

           1》value必须项目,用于指定cookie的值

           2》expires指定cookie过期时间

           3》domain指定cookie所在域名

           4》path属性指定路径,必须是绝对路径

           5》secure指定cookie只能在加密协议https下发送到服务器

           6》httpOnly设置该cookie不能被JS读取

<script>
    var exp = new Date();
    exp.setTime(exp.getTime() + 100000);
    // 添加一些东西
    document.cookie = 'name=zxy;expires=' + exp.toGMTString();
    document.cookie = 'age=18;expires=' + exp.toGMTString();

    console.log('cookie ==== ' + document.cookie);
</script>

2.window.localStorage 和 window.sessionStorage

(1) window.localStorage 本地存储,存储的数据没有过期时间

    语法:myStorage = localStorage;返回一个Storage对象;

    添加:localStorage.setltem('key','value');

    获取:localStorage.getIitem('key');

    移除:localStorage.removeItem('key');

    清空:localStorage.clear();不接受参数,清空存储对象里的所有数据;

(2)window.sessionStorage 会话存储,存储的数据会在浏览器会话结束时被清除

    语法:myStorage = sessionStorage;返回一个Storage对象;

    添加:sessionStorage.setltem('key','value');

    获取:sessionStorage.getIitem('key');

    移除:sessionStorage.removeItem('key');

    清空:sessionStorage.clear();不接受参数,清空存储对象里的所有数据;

如何实现跨页面传值

1.a标签或者location.href

2.存储(cookie、localStorage、sessionStorage)

1.html

<body>
    <input type="text">
    <button>22222222</button>
</body>
<script>
    var ipt = document.querySelector("input")
    var btn = document.querySelector("button");
    btn.onclick = function() {
        // location.href = '2.html?name=' + ipt.value;
        localStorage.name = ipt.value;
        location.href = '3.html';
    }
</script>

2.html

<body>
    诗人: <span id="author"></span>
</body>
<script>
    function search2Obj() {
        var data = location.search.substr(1);
        // data = 'key1=value1&key2=value2'
        var arr = data.split('&');
        // arr = ['key1=value1', 'key2=value2'];
        var obj = {};
        arr.forEach(function(item) {
            var arr2 = item.split("=");
            // arr2 = ['key1', 'value1']
            var key = arr2[0];
            var value = arr2[1];
            obj[key] = value;
        })
        return obj;
    }
    var data = search2Obj();
    var span = document.getElementById("author");
    span.innerHTML = data.name;
</script>

3.html

<body>
    <p></p>
</body>
<script>
    var p = document.querySelector('p');
    p.innerHTML = localStorage.name;
</script>

cookie、localStorage、sessionStorage区别

cookie 存储量小受到限制,设置过期时间删除,前后端自动同步;

localStorage 存储量大,需手动删除;

sessionStorage 临时存储,关闭浏览器自动清除;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring事件存储指的是在Spring框架中实现事件管理和存储,以便在系统中进行事件的发布和订阅。它允许不同的组件之间进行解耦,以实现更好的系统可扩展性和灵活性。 Spring提供了一个事件体系结构,通过编写事件发布者和事件监听器,可以在应用程序中实现事件的发布和处理。事件发布者负责发布事件,而事件监听器负责处理该事件。 在实际应用中,Spring事件存储通常与其他持久化技术结合使用,以便将事件存储到持久化存储介质中,如数据库、消息队列或日志文件等。这样做的好处是可以跟踪和记录系统中发生的事件,并允许其他组件在需要时获取和处理这些事件。 Spring事件存储的实现方式可以基于数据库事务或非事务进行。对于基于数据库的实现方式,可以使用Spring提供的JDBC或ORM框架(如Hibernate)进行数据存储。对于非事务性的实现方式,可以使用消息队列或日志文件来存储事件。 除了事件存储,Spring还提供了其他一些功能来支持事件管理和处理,例如事件过滤、事件监听器排序和异步事件处理等。这些功能可以根据应用程序的需要进行配置和使用,以满足不同业务场景中的需求。 总而言之,Spring事件存储是一种利用Spring框架提供的事件模型和持久化技术来管理和存储事件的机制。它可以帮助系统实现解耦和灵活性,并提供跟踪、记录和处理事件的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值