`
chii
  • 浏览: 20628 次
社区版块
存档分类
最新评论

【转】HttpServletRequest接口的getSession方法

    博客分类:
  • java
阅读更多

关于HttpServletRequest接口的getSession方法,在页面提交请求到servlet时,用getSession(false)返回的却是一个session对象而不是null的问题。

getSession有两种方法,一个有参的、一个是无参的。

getSession()与getSession(true)一样,获取request对象关联的session对象,如果没有session,则返回一个新的session。

getSession(false)也是返回一个request对象关联的session对象,但如果没有session,则返回null。

Java EE 5 API中的定义:

HttpSession getSession(boolean create)

Returns the current HttpSession associated with this request or, if there is no current session and create is true, returns a new session.
If create is false and the request has no valid HttpSession, this method returns null.

在Jsp页面提交表单到servlet时,在servlet中调用getSession(false)时却返回了一个session,而不是null。

原因是Jsp页面会默认创建session对象,即<@page session="true">,默认是true,如果手动将session设为false,则jsp不会创建session对象,页面也就不可以直接使用session对象。这样提交到servlet,用方法getSession(false)返回的就是null。

分享到:
评论

相关推荐

    HttpServletRequest-response方法总结

    HttpServletRequest-response方法总结 HttpServletRequest和HttpServletResponse是Servlet编程中两个最重要的接口,它们提供了对HTTP请求和响应的控制和处理。下面是对HttpServletRequest和HttpServletResponse的...

    java 中 request.getSession(true、false、null)的区别

    在Java Web开发中,`HttpServletRequest`对象是用于处理HTTP请求的核心接口,它提供了多种方法来与服务器端的会话(Session)进行交互。`request.getSession()`方法及其变体是其中的关键之一,用于获取或创建与当前...

    基于HttpServletRequest 相关常用方法的应用

    这个接口提供了许多方法来获取请求的相关信息,包括请求参数、请求头、请求路径等。下面将详细介绍`HttpServletRequest`的一些常用方法及其应用场景。 1. **获取请求URL和Referer** `HttpServletRequest` 提供了 `...

    jsp 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)

    在Java Web开发中,`HttpServletRequest`接口提供了`getSession()`方法,用于获取或创建HTTP会话(Session)。理解`getSession(false)`的行为至关重要,因为它直接影响到会话管理的效率和正确性。下面将详细阐述`...

    HttpServletRequest源码 HttpServletResponse源码

    在Java Web开发中,`HttpServletRequest`和`HttpServletResponse`是两个至关重要的接口,它们是Java Servlet API的核心组成部分,用于处理客户端(通常是Web浏览器)与服务器之间的HTTP通信。这两个接口提供了丰富的...

    java HttpServletRequest和HttpServletResponse详解

    HttpServletRequest接口提供了处理HTTP请求所需的各种功能。通过这个接口,你可以获取请求中的参数、头信息、Cookie等数据。例如,`getParameter(String name)`用于获取指定名称的请求参数值,`getHeader(String ...

    Servlet常用接口

    Servlet可以通过HttpServletRequest的`getSession()`方法来访问或创建HttpSession,用于跟踪用户会话。 7. **RequestDispatcher接口**: 提供了转发和包含请求的能力,例如`request.getRequestDispatcher(String ...

    JSP100选择题 JSP100选择题 适合考前练习

    运用javax.servlet.http.HttpServletRequest接口的sendRedirect方法 B.运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法 解析:重定向是客户端行为,使用HttpServletResponse接口的sendRedirect...

    java servlet api

    3. **HttpServletRequest接口**:代表客户端的HTTP请求,提供了获取请求参数、头信息、请求URL等方法。 4. **HttpServletResponse接口**:用于构建服务器对HTTP请求的响应,包括设置响应状态码、头信息,以及将数据...

    servlet常用类接口

    Servlet接口是Servlet规范中的核心部分,它定义了Servlet组件的行为和生命周期方法。一个典型的Servlet需要实现以下方法: 1. **init(ServletConfig config)**:初始化方法,在Servlet实例创建后首次被容器调用。此...

    servlet2.4api-javadoc 半中文

    6. **HttpServletRequest接口**:表示来自客户端的HTTP请求,提供了获取请求头、参数、路径信息以及读取请求体的方法。 7. **HttpServletResponse接口**:用于构建HTTP响应,包括设置状态码、添加头信息、写入响应...

    jsp100个练习题

    1. 在 J2EE 中,HttpServletRequest 类的 getSession 方法用于创建对话。HttpSession 是一种服务器端的会话机制,用于存储用户的会话信息。 2. 在 Servlet 中,setAttribute 方法用于设置请求属性,setAttribute ...

    学习ssh框架日记

    3. **会话管理**:在Web应用中,HttpServletRequest的getSession方法用于获取或创建会话。通过getSession(true),即使没有现成的Session,也会创建新的;getSession(false)则仅在存在Session时返回,否则为null。不...

    Servlet速成

    Servlet可以使用HttpServletRequest的getSession方法获取或创建HttpSession对象,实现用户会话跟踪。会话对象可以存储用户的登录状态、购物车等信息,且在多个请求之间保持状态。 八、SCWCD认证 SCWCD(Sun ...

    servlet d的使用用必要看看那

    HttpServletRequest的getSession()方法创建或获取Session对象,HttpSession接口提供了管理会话状态的方法。 3.5 ServletContext接口 ServletContext接口代表整个Web应用的上下文,提供了在整个应用范围内共享数据...

    servlet-api

    HttpServletRequest接口提供了多种方法来获取HTTP请求的信息,例如请求参数、请求头、请求URI、请求方法等。通过`getParameter()`方法,我们可以获取URL中传递的参数值;`getHeader()`方法则用于获取请求头的信息;`...

    servlet.rar

    我们可以通过HttpServletRequest的getSession()方法获取或创建一个新的会话。 六、Servlet的异步处理 Java Servlet 3.0引入了异步处理能力,使得Servlet可以在非阻塞模式下处理请求,提高了Web应用的性能。通过...

    struts2之Action访问Servlet API

    * Map getSession() : 返回 Map 对象,模拟 HttpSession 实例 * void setApplication(Map application) : 传入 Map 对象,转换成 application 对象的属性名和属性值 * void setSession(Map session) : 传入 Map 对象...

    springboot 用监听器统计在线人数案例分析

    HttpSession session = httpServletRequest.getSession(); Object count = session.getServletContext().getAttribute("count"); return "count: " + count; } } ``` 然而,在实现过程中会遇到一些问题。例如,...

Global site tag (gtag.js) - Google Analytics