【发布时间】:2011-03-21 20:32:11
【问题描述】:
这是一个面试问题:会话对象的父对象是什么?
根据范围(如下图),我的答案是:应用程序
但是,答案是作为请求给出的。因为我们可以通过 request.getSession() 方法从请求上下文访问会话对象。
我无法理解单个请求如何成为整个用户会话的父级?
对不起,如果我违反了任何问题指南。
【问题讨论】:
标签: java session web-applications
这是一个面试问题:会话对象的父对象是什么?
根据范围(如下图),我的答案是:应用程序
但是,答案是作为请求给出的。因为我们可以通过 request.getSession() 方法从请求上下文访问会话对象。
我无法理解单个请求如何成为整个用户会话的父级?
对不起,如果我违反了任何问题指南。
【问题讨论】:
标签: java session web-applications
嗯,这里根本没有父子关系。至少在 OO 用语中,当涉及到继承时,就说存在父子关系。 Application 和 Request 都不在 Session 的继承树上。
所以,我会说面试问题本身有点奇怪:)
【讨论】:
这个问题对我来说很奇怪,因为我们在 OO 意义上没有关系。它是这里唯一的所有者(创建者)。我们有 Http Request 实现 HttpServletRequest 它有:
/**
* Returns the current session associated with this request,
* or if the request does not have a session, creates one.
*/
public HttpSession getSession();
如果不存在此方法将创建新对象,否则它会返回创建的会话对象,因此如果有人可以处于父关系中,那只能是请求 - 但在我看来我们不能这么说,更好的问题是是:“哪个类管理 http 对象?”或“哪个类有 http 对象?”
【讨论】: