【问题标题】:Parent of session object: request or application会话对象的父级:请求或应用程序
【发布时间】:2011-03-21 20:32:11
【问题描述】:

这是一个面试问题:会话对象的父对象是什么?

根据范围(如下图),我的答案是:应用程序

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

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

对不起,如果我违反了任何问题指南。

【问题讨论】:

    标签: java session web-applications


    【解决方案1】:

    嗯,这里根本没有父子关系。至少在 OO 用语中,当涉及到继承时,就说存在父子关系。 Application 和 Request 都不在 Session 的继承树上。

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

    【讨论】:

    • 我同意。你不想要那个工作。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 2018-11-10
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      相关资源
      最近更新 更多