返回顶部
首页 > 资讯 > 精选 >java中的session对象及其常用方法是什么
  • 354
分享到

java中的session对象及其常用方法是什么

2023-06-20 14:06:32 354人浏览 薄情痞子
摘要

本篇内容主要讲解“java中的session对象及其常用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中的session对象及其常用方法是什么”吧!session对象用于在会话

本篇内容主要讲解“java中的session对象及其常用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中的session对象及其常用方法是什么”吧!

session对象用于在会话范围内,记录每个客户端的访问状态,以便于跟踪每个客户端的操作状态,在会话存储的信息,在浏览器发出后续请求时可以获取这些会话的有效数据。

jsp页面中可以直接使用session对象(jsp的内置对象),也可以通过pageContext.getSession()或者request.getSession重新回去session对象。

session可以保存用户的信息和实现购物车等功能。

Http协议是一种无状态协议,客户向服务器发出的请求request,然后服务器返回响应response,连接就被关闭了,在服务器不保存连接的有关信息,因此在下一次连接时,服务器已经没有以前的连接信息了,无法判断这一次连接和上一次连接时同一个客户信息,因此,必须使用会话记录有关连接的信息。

从客户打开浏览器连接到服务器,到客户关闭浏览器离开这个服务器,称做一个会话。当客户访问服务器是,可能会反复连接这个服务器上的几个页面、反复刷新一个页面或不断地向一个页面提交信息等,服务器应当通过某种方法知道这是同一个客户,这时就需要session对象。

session的工作原理如下:

客户首次访问服务器的一个页面时,服务器就会为该用户分配一个session对象,同时为这个session指定唯一的ID,并且将该ID发送到客户端并写入到cookie中,使得客户端与服务器的session建立一一对应的关系;

当客户端继续访问服务器端的其它资源时,服务器不再为该客户分配新的session对象,直到客户端浏览器关闭、超时或调用session的invalidate()方法使其失效,客户端与服务器的会话结束。

当客户重新打开浏览器访问网站时,服务器会重新为客户分配一个session对象,并重新分配sessionID。

session对象主要用于属性操作和会话管理,常用方法如下:

public void setAttribute(String name,String value)设定指定名字的属性的值,并将它添加到session会话范围内,如果这个属性是会话范围内存在,则更改该属性的值。

public Object getAttribute(String name)在会话范围内获取指定名字的属性的值,返回值类型为object,如果该属性不存在,则返回null。

public void removeAttribute(String name),删除指定名字的session属性,若该属性不存在,则出现异常。

public void invalidate(),使session失效。可以立即使当前会话失效,原来会话中存储的所有对象都不能再被访问。

public String getId( ),获取当前的会话ID。每个会话在服务器端都存在一个唯一的标示sessionID,session对象发送到浏览器的唯一数据就是sessionID,它一般存储在cookie中。

public void setMaxInactiveInterval(int interval) 设置会话的最大持续时间,单位是秒,负数表明会话永不失效。

public int getMaxInActiveInterval(),获取会话的最大持续时间。

使用session对象的getCreationTime()和getLastAccessedTime()方法可以获取会话创建的时间和最后访问的时间,但其返回值是毫秒,一般需要使用下面的转换来获取具体日期和时间。

Date creationTime = new Date(session.getCreationTime());Date accessedTime = new Date(session.getLastAccessedTime());
<%@ page language="java" import="java.util.*" contentType="text/html;charset=GBK"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>" rel="external nofollow" >       <title>session对象方法</title>    <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0">    <meta http-equiv="keyWords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/CSS" href="styles.css" rel="external nofollow" > -->  </head>   <body>    <b>    会话ID:<%=session.getId() %> <br>    是否新会话:<%=session.isNew() %><br>    设置和获取属性对象:用户名 =    <%session.setAttribute("用户名","bing"); %>    <%=session.getAttribute("用户名") %><br>    <%    Date creationTime = new Date(session.getCreationTime());    Date accessedTime = new Date(session.getLastAccessedTime());     %>     会话创建时间:<%=creationTime %><br>     上次访问时间:<%=accessedTime %><br>     会话持续时间(s):<%=session.getMaxInactiveInterval() %><br>     <%session.setMaxInactiveInterval(12); %>     修改后的会话持续时间(s):<%=session.getMaxInactiveInterval() %><br>     <%session.invalidate(); %>     </b>  </body></html>

获取session常用的几种方法

1.spring mvc

httpservletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

2. struts2中

(1)

ActionContext context = ActionContext.getContext(); Map request = (Map) context.get("request"); Map session = context.getSession(); Map application = context.getApplication();

(2)

ActionContext actionContext = ActionContext.getContext(); HttpServletRequest request = (HttpServletRequest) actionContext.get(ServletActionContext.HTTP_REQUEST); HttpSession session = request.getSession(); ServletContext context = (ServletContext) actionContext  .get(ServletActionContext.SERVLET_CONTEXT);

3.通过ServletActionContext获取

HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session = request.getSession();

到此,相信大家对“java中的session对象及其常用方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: java中的session对象及其常用方法是什么

本文链接: https://lsjlt.com/news/297236.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java中的session对象及其常用方法是什么
    本篇内容主要讲解“java中的session对象及其常用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中的session对象及其常用方法是什么”吧!session对象用于在会话...
    99+
    2023-06-20
  • java中的session对象及其常用方法小结
    session对象用于在会话范围内,记录每个客户端的访问状态,以便于跟踪每个客户端的操作状态,在会话存储的信息,在浏览器发出后续请求时可以获取这些会话的有效数据。 在jsp页面中可以...
    99+
    2024-04-02
  • PHP中PDO是什么,其对象使用的常见方法是什么
    本篇内容介绍了“PHP中PDO是什么,其对象使用的常见方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PDO是什么PDO是别人写的“...
    99+
    2023-06-20
  • JavaWebHttpServletResponse对象及常用方法
    目录(1)概念(2)常用方法(1)概念 在doGet、doPost、service方法的参数中都会有HttpServletRequest和HttpServletResponse对象。...
    99+
    2024-04-02
  • java中的方法是对象么
    对象,类,属性,方法的解析:以人为例。类:人可以看作一个类。对象:具体到什么人(黄种人,白种人,黑种人,中国人等等)这就可以看作是对象,可以根据需求继续往下区分,比如 男人 女人。属性:比如说黄种人的特点:黄皮肤,黑头发,黑眼睛等等,这些就...
    99+
    2016-01-18
    java入门 java 方法 对象
  • Java中JSP的session对象和config对象怎么使用
    本篇内容主要讲解“Java中JSP的session对象和config对象怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中JSP的session对象和config对象怎么使用”吧!...
    99+
    2023-07-04
  • java中什么是静态的对象和方法
    什么是静态变量Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。使用 static 可以修饰变量、方法和代码块...
    99+
    2016-04-17
    java入门 java 静态 对象 方法
  • Java中方法和对象的关系是什么
    在Java中,方法和对象是密切相关的。对象是类的实例,它可以拥有属性和行为。方法是对象的行为,它定义了对象可以执行的操作。 在Jav...
    99+
    2023-10-26
    Java
  • JAVA中对象复制与引用的方法是什么
    在Java中,对象的复制可以使用两种方法:浅复制和深复制。1. 浅复制(Shallow Copy):通过复制对象的引用,创建一个新的...
    99+
    2023-08-18
    JAVA
  • Java对象池技术的原理及其实现方法
    这篇文章主要讲解了“Java对象池技术的原理及其实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java对象池技术的原理及其实现方法”吧!摘 要 :本文在分析对象池技术基本原理的基础上...
    99+
    2023-06-03
  • JSP内置对象session的作用是什么
    JSP内置对象session的作用是在用户访问网站期间存储和传递数据。Session对象在用户访问网站时被创建,用于在不同的请求之间...
    99+
    2023-09-14
    JSP session
  • Java中request对象常用方法汇总
    Java中的request对象是HttpServletRequest类型的对象,它封装了HTTP请求的信息。常用的request对象...
    99+
    2023-08-17
    Java
  • python中什么是对象方法
    python中什么是对象方法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,P...
    99+
    2023-06-14
  • Java类对象封装的方法是什么
    Java类对象封装的方法是通过定义类、属性和方法来封装数据和行为。类是一种模板或蓝图,用于创建具有相似属性和行为的对象。属性是类的成...
    99+
    2023-10-23
    Java
  • java输出document对象的方法是什么
    在Java中,输出一个Document对象,可以使用以下方法:1. 使用DOM方式输出:可以使用Transformer类将Docum...
    99+
    2023-10-11
    java
  • java map转list对象的方法是什么
    Rate limit reached for gpt-3.5-turbo in organization org-68Lqb4iD2...
    99+
    2023-10-18
    java
  • java对象实例化的方法是什么
    Java对象实例化的方法有两种:使用new关键字和使用反射机制。1. 使用new关键字:最常用的实例化方法是使用new关键字,通过调...
    99+
    2023-08-15
    java
  • java对象的创建与使用方法是什么
    Java对象的创建与使用方法如下:1. 定义类:在Java中,对象的创建需要先定义类。类是一个抽象的概念,用于描述对象的属性和行为。...
    99+
    2023-05-13
    java对象的创建 java
  • java中什么是对象
    本篇文章为大家展示了java中什么是对象,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网...
    99+
    2023-06-14
  • Java中request对象常用方法有哪些
    在Java中,HttpServletRequest对象是处理HTTP请求的对象,常用的方法有:1. getParameter(Str...
    99+
    2023-08-18
    Java request
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作