JSP 面试题 目录

JSP 中如何创建 Session?

推荐答案

在 JSP 中创建 Session 可以通过以下步骤实现:

  1. 使用 request.getSession() 方法获取或创建一个 Session 对象。
  2. 使用 session.setAttribute() 方法将数据存储在 Session 中。

示例代码:

本题详细解读

1. request.getSession() 方法

request.getSession() 是 JSP 中用于获取或创建 Session 对象的方法。它的工作原理如下:

  • 如果当前请求已经有一个关联的 Session,则返回该 Session。
  • 如果当前请求没有关联的 Session,则创建一个新的 Session 并返回。

该方法有两个重载版本:

  • request.getSession():如果 Session 不存在,则创建一个新的 Session。
  • request.getSession(boolean create):如果 create 参数为 true,则与 request.getSession() 行为相同;如果为 false,则仅在 Session 存在时返回 Session,否则返回 null

2. session.setAttribute() 方法

session.setAttribute(String name, Object value) 方法用于将数据存储在 Session 中。参数说明如下:

  • name:属性的名称,类型为 String
  • value:属性的值,类型为 Object

通过 session.setAttribute() 方法存储的数据可以在同一个用户的后续请求中通过 session.getAttribute(String name) 方法获取。

3. Session 的生命周期

Session 的生命周期从创建开始,直到以下情况之一发生:

  • Session 超时(默认超时时间通常为 30 分钟,可以在 web.xml 中配置)。
  • 调用 session.invalidate() 方法显式销毁 Session。
  • 服务器关闭或应用重新部署。

4. 示例代码解析

在示例代码中:

  • request.getSession() 获取或创建了一个 Session 对象。
  • session.setAttribute("username", "JohnDoe") 将用户名 "JohnDoe" 存储在 Session 中,键为 "username"。

在后续的请求中,可以通过 session.getAttribute("username") 获取该值。

纠错
反馈