dorado DoradoContext

本文介绍了DoradoContext的作用域生命周期,详细阐述了如何在Dorado中指定和存取数据,包括在不同作用域的操作,特别是view作用域如何与JavaScript交互。此外,还提及了其他相关的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


DoradoContext 是 Dorado 的上下文对象,有4个作用域

DoradoContext.VIEW	Dorado 的视图作用域
DoradoContext.REQUEST	等同于 HttpServletRequest
DoradoContext.SESSION	等同于 HttpSession
DoradoContext.APPLICATION	等同于 ServletContext

1. 作用域的生命周期

DoradoContext.REQUEST	等同于 HttpServletRequest
一次浏览器对服务器的请求用HttpServletRequest对象表示【包括转发】
/*
1.浏览器向servlet发送请求
2.tomcat收到请求,创建Request和Response,并将浏览器请求参数传给Servlet
3、Servlet接收请求,调用doget或dopost,处理请求,通过Response返回信息
4、tomcat收到返回信息,将其返回给浏览器。
5、浏览器收到返回消息,tomcat销毁Request和Response两个对象,同时销毁这两个对象所获得的信息。
源自:https://blog.youkuaiyun.com/m0_38039437/article/details/76229486
*/
DoradoContext.SESSION	等同于 HttpSession
一次会话的多个请求之间共享,用于跟踪会话
第一个进入该网站,直到退出网站或关闭浏览器【如淘宝网站内部多次跳转页面,还是知道你是哪个用户】
之后只要不退出网站或关闭浏览器,都可以通过:session.getAttribute("key1")获取保存的参数

DoradoContext.APPLICATION	等同于 ServletContext
唯一对象,服务器创建,它创建,服务器关掉,它销毁
所有用户之间共享数据
eg:服务器版本,应用级初始化参数和应用内资源的绝对地址,注册信息的方式

2. 作用域如何存取数据?

  1. 获取当前dorado上下文对象
DoradoContext context = DoradoContext.getCurrent();
1. 指定作用域
指定作用域
public Object getAttribute(String scope, String key);
public void setAttribute(String scope, String key, Object value);
public void removeAttribute(String scope, String key);


String username = context.getAttribute(DoradoContext.SESSION, "username");
Object securityData = context.getAttribute(DoradoContext.APPLICATION, "securityData");
context.setAttribute(DoradoContext.SESSION, "username", username);

2. 不指定作用域

查找顺序:
REQUEST 1
VIEW 2
SESSION 3
APPLICATION 4

public Object getAttribute(String key);
3.先获取作用域再处理
oradoContext ctx = DoradoContext.getCurrent();
HttpServletRequest request = ctx.getRequest();
requst.setAttribute("user",username);
request.getSession().setAttribute("user", employee);

3.view作用域中数据还可以在js中获取

var username = view.get("context").get("username");

4.其他方法

//获取Spring中的ApplicationContext
public ApplicationContext getApplicationContext()
//获取Spring中的WebApplicationContext 
public WebApplicationContext getWebApplicationContext()
//获取当前web请求的ServletContext
public static ServletContext getServletContext()
//获取当前线程绑定的HttpServletRequest
public static HttpServletRequest getRequest()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值