Play framework session和flash有效范围
来源:互联网 发布:知乎活跃用户数量 编辑:程序博客网 时间:2024/05/16 12:33
如果你必须在多个http请求中保存数据,你可以保存它们在session和flash范围之内,存储在会话中的数据在整个会话中都是有效的,存储在flash作用域中的数据只适用于下一个请求。
重要的是要了解会话和flash数据不存储在服务器中,而是使用cookie将其添加到每个后续HTTP请求中。,这意味着数据的大小非常有限(最多4KB),并且只能存储字符串值;
Cookie是一个用秘钥签名的,因此客户端不能修改Cookie的值(否则它将失效),Play会话不会用作缓存,如果需要缓存与特定会话相关的数据,你可以使用Play内置缓存机制并使用会话存储一个唯一的ID来将缓存数据与特定用户关联。
注意:会话没有技术上的超时,只有当用户关闭web浏览器时会话才会过期,如果您需要某个特定应用程序的功能超时,只需在用户会话中存储一个时间戳,然后在应用程序需要时使用它。
读取一个session值
你可以从http请求检索接收到的会话,
public static Result index() { String user = session("connected"); if(user != null) { return ok("Hello " + user); } else { return unauthorized("Oops, you are not connected"); }}
将数据存入session会话
因为会话只是一个cookie,他也是一个http头,但是play提供一个帮助方法存储session值。
public static Result index() { session("connected", "user@gmail.com"); return ok("Welcome!");}
public static Result index() { session().remove("connected"); return ok("Bye");}
public static Result index() { session().clear(); return ok("Bye");}
Flash范围
Flash作用域与会话完全相同,有两个不同点:
1.数据只存储一个请求范围
2.Flash cookies不做签名,用户可以做修改
重点:Flash只用作传输成功或者失败消息用在简单的非Ajax应用程序之中,由于数据只保存到下一个请求并且因为没有保证确定一个请求的顺序在一个复杂的web应用程序中,Flash范围受到条件的限制。
public static Result index() { String message = flash("success"); if(message == null) { message = "Welcome!"; } return ok(message);}public static Result save() { flash("success", "The item has been created"); return redirect("/home");}
阅读全文
0 0
- Play framework session和flash有效范围
- [Play Framework]Session and Flash scopes——用Play操作Session和Flash数据
- play framework --session 自动同步到cookie
- play framework
- play framework
- play framework
- Play Framework
- play framework
- play framework
- play Framework play json
- play framework2学习之旅<2.4>Session and Flash scopes
- play 传值 Scope flash,params,renderArgs,routeArgs,session
- Session对象在各浏览器中的有效范围
- Session对象在各浏览器中的有效范围
- Session对象在各浏览器中的有效范围
- play framework框架的优势和劣势?
- play framework中plugins和enhancers
- play framework 下载图片和pdf
- Eclipse中配置hadoop开发环境
- bootstrap兼容IE8
- jquery $(this)
- android ADT中快捷键alt+/ 失效不好使的解决措施
- springboot pom.xml
- Play framework session和flash有效范围
- Spring学习笔记一
- hihocoder 1043 : 完全背包
- Cocos2d-x《雷电大战》(6) 智能敌机AI来袭–飞行路径算法设计与实现(上)
- Python爬虫进阶四之PySpider的用法
- Java实现二分查找
- POJ2692假币问题
- 小结
- 点击按钮后5s内不能再次点击该按钮