会话对象的父级:请求或应用程序

时间:2011-03-21 20:32:11

标签: java session web-applications

它是一个采访问题:会话对象的父级是什么?

根据范围(如下图所示),我的回答是:application enter image description here

但是,答案是作为请求给出的,因为我们可以通过request.getSession()方法从请求上下文访问会话对象。

我无法理解单个请求如何成为整个用户会话的父级?

很抱歉,如果我违反任何问题指南。

2 个答案:

答案 0 :(得分:2)

嗯,这里根本没有亲子关系。至少在OO的说法中,当涉及继承时,据说父子关系存在。应用程序和请求都不属于Session的继承树。

所以,我会说面试问题本身有点奇怪:)

答案 1 :(得分:1)

这个问题对我来说很奇怪,因为我们在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对象?”