【问题标题】:Need clarifications on cookies and sessions需要对 cookie 和会话进行说明
【发布时间】:2012-04-06 22:00:21
【问题描述】:

我对 cookie 和在 jsp 和 servlet 中的 servlet 中使用会话感到困惑。我有 3 个问题。

1. 我在我的 servlet A 中为用户创建一个会话,然后在会话对象中放入一些值。那么如果用户访问同一域中的另一个 servlet B,该 servlet 是否能够读取这些值。 servlet B 是否可以使用相同的会话对象?
2. 如果我打开了 5 个选项卡,其中包含同一服务器(或域)的不同 jsp 页面。所有 5 个选项卡的 sessio.lastAccessed() 方法是否会返回相同的值?
3. 会话对象可以设置过期时间吗?如果是,怎么做?

【问题讨论】:

    标签: jsp session servlets


    【解决方案1】:
    1. 是的,他们将分享会话

    2. 是的,我相信选项卡总是共享一个会话,但多个窗口将取决于浏览器——例如,您可以拥有多个 IE 实例(单独的窗口),但它们不会。

    3. 是的,通过在 web.xml 中设置 session-config/session-timeout(分钟数,见下文)


      15会话超时>

    另外,要以编程方式设置会话超时,请使用以下方法:

    HttpSession session
    session.setMaxInactiveInterval(int interval)
    

    间隔以秒为单位。

    【讨论】:

    • 不能像 cookie 一样在 servlet 中设置会话过期时间吗?
    • 不确定你的意思,但肯定有不止一种方法。
    • 我的意思是在cookies中你可以设置最大年龄。你能做一些类似的事情吗?
    • 你是指整个会话还是一个会话属性?我相信整个会话将作为一个单元一起到期。
    • 是的,整个会话将一起过期,但可以在创建会话时在 servlet 中设置过期时间,在第一次访问 servlet 时?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    相关资源
    最近更新 更多