Aus*_*inT 10 java jsp servlets web
我无法理解这三种设置属性的方法之间的差异:
// String as attribute of request
req.setAttribute("name", "Sluggo");
// Integer as attribute of session
req.getSession().setAttribute("age", 10);
// Date as attribute of context
getServletContext().setAttribute("today", new Date());
Run Code Online (Sandbox Code Playgroud)
Mik*_*ikO 20
甲ServletContext的属性是装订成通过所述上下文对象
ServletContext.setAttribute()的方法和这是提供给在这方面所有servlet(因此JSP),或经由其他上下文getContext()方法.根据定义,在定义它们的VM中本地存在上下文属性.因此,它们在分布式应用程序上不可用.会话属性绑定到会话,作为向一组相关HTTP请求提供状态的手段.会话属性仅适用于加入会话的Servlet.它们在分布式方案中也不可用于不同的JVM.当对象绑定/未绑定到实现
HttpSessionBindingListener接口的Session时,可以通知对象 .请求属性绑定到特定的请求对象,并且它们会在请求被解析或持续从Servlet调度到Servlet时持续.它们更多地被用作Servlet之间通过
RequestDispatcher接口的通信通道(因为你不能添加参数...)和容器.当您必须在信息提供者和绑定到特定请求且不再可用的信息表示层(JSP)之间提供设置信息时,请求属性在Web应用程序中非常有用,这通常发生在没有严格控制的会话中战略.在总结中,我们可以说:
- 上下文属性适用于基础结构,例如共享连接池.
- 会话属性用于上下文信息,例如用户标识.
- 请求属性用于特定的请求信息,例如查询结果.
来源:Servlets采访Krishna Srinivasan @ javabeat.net的问题
三者都有不同的范围,
请求的属性适用于该请求响应周期,
会话的会话属性,
servletContext跨越servlet上下文,它一直存在,直到上下文被破坏
| 归档时间: |
|
| 查看次数: |
20884 次 |
| 最近记录: |