精华内容
下载资源
问答
  • session对象中保存属性
    2021-03-08 22:47:57

    这道题本身不难,考的是java web开发中的Servlet基础,这个Session不是普通的类,而是HttpSession,具体代码如下: public class SessionTest extends HttpServlet {

    @Override

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    super.doPost(req, resp);

    HttpSession session = req.getSession();

    session.setAttribute("name", "zj");

    }

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    super.doGet(req, resp);

    }

    }

    运行这段代码,需要先导入servlet-api.jar,这个jar是从Tomcat安装目录复制过来的,详情参考

    java中HttpSession的用法

    更多相关内容
  • 当前用户的Session对象定义的变量和对象能在页面之间共享,但是不能为应用其他用户所访问,因此在用ASP开发网络应用程序时,可以利用Session对象保存和跟踪用户的状态信息。  Session对象有一个十分重要的属性...
  • session对象用于在会话范围内,记录每个客户端的访问状态,以便于跟踪每个客户端的操作状态。在会话存储的信息,在浏览器发出后续请求时可以获取这些会话...session对象可以保存用户的登录信息,实现购物车功能等...

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

    在jsp页面中可以直接使用session对象,也可以通过pageContext.getSession()或request.getSession()方法重新获取session对象。

    session对象可以保存用户的登录信息,实现购物车功能等。

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

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

    session的工作原理如下:

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

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

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

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

    1.public void

    setAttribute(Sting name, Object

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

    2.public Object

    getAttribute(String

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

    3.public void removeAttribute(String

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

    4.public void

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

    5.public String getId(

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

    6.public void setMaxInactiveInterval(int

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

    7.public int

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

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

    Date creationTime = new

    Date(session.getCreationTime());

    Date

    accessedTime = new

    Date(session.getLastAccessedTime());

    contentType="text/html;charset=GBK"%>

    String path = request.getContextPath();

    String basePath =

    request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

    %>

    /p>

    Transitional//EN">

    href="">

    session对象方法

    content="no-cache">

    content="no-cache">

    content="0"> 

    content="keyword1,keyword2,keyword3">

    content="This is my page">

    会话ID:

    是否新会话:

    %>

    设置和获取属性对象:用户名 =

    %>

    %>

    Date creationTime = new

    Date(session.getCreationTime());

    Date

    accessedTime = new

    Date(session.getLastAccessedTime()); %>

    会话创建时间:

    %>

    上次访问时间:

    %>

    会话持续时间(s):

    %>

    %>

    修改后的会话持续时间(s):

    %>

    %>

    展开全文
  • 标题简单描述:先将一个对象放入session,只对对象属性值进行修改,但不将修改后的对象存放session中,发现session中存放的对象属性值也相对应的改变。Person person=new PerSon();request.getSession()....

    标题简单描述:先将一个对象放入session,只对对象属性值进行修改,但不将修改后的对象存放session中,发现session中存放的对象属性值也相对应的改变。

    Person person=new PerSon();

    request.getSession().setAttribute("person", person);

    person.setName("张三");

    取值时发现是可以取到的,这里大家可能就疑惑了,因为是先添加到session中在进行取值的。

    先看一个小案例:

    创建一个Person类:

    package JavaTest;
    public class Person {
        private String name;
        private String sex;
        private Integer age;
        public Person(){
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        // 重写toString方法,方便查看打印效果
        @Override
        public String toString() {
            return "Person [name=" + name + ", sex=" + sex + ", age=" + age + "]";
        }

    }

    创建一个Test类:

    public class Test {
        public static void main(String[] args) {
            Person person=new Person();                     //创建一个Person对象-->person。
            person.setName("张三");                        //只修改person的name属性值。
            Map<String, Person> map=new HashMap<>();    //创建一个Map集合,String为Key(此案例随意,主要是Value),Person为value。
            map.put("p1", person);                        //将person添加到map中,key取p1(key取值随意)
            System.out.println(map);                    //打印map集合
            person.setAge(18);                             //再次修改person的age属性
            System.out.println(map);                    //再次打印map集合
        }

    }

    打印结果:

    观察大致内存分析:

    回归正文,通过小案例分析发现当map中存放一个对象时,其实存放的是一个内存地址。

    故:request.getSession().setAttribute("person", person);存放的也是内存地址。

    PS:文章可能啰嗦,主要是想通过案例解释该问题。另内存图可能可能出错(个人能力有限),但最终原理不错。


    展开全文
  • django后端传给前段一个json对象,vue接收后如何保存session中,并且可以在其他的页面从session中拿出对象,用这个对象里面的属性 后端传值 以上是django项目,后端返回给前段的一个json对象 前段获取 利用 JSON....

    django后端传给前段一个json对象,vue接收后如何保存在session中,并且可以在其他的页面从session中拿出对象,用这个对象里面的属性

    后端传值

    在这里插入图片描述
    以上是django项目,后端返回给前段的一个json对象

    前段获取

    利用
    JSON.stringify()
    这个函数,将后端返回的json格式保存在session中

    window.sessionStorage.setItem("yhxx",JSON.stringify(res.data.data))
    

    保存后我们在浏览器查看

    在这里插入图片描述
    现在我们要从这个session里面获取这个对象,并且使用他里面的某一个属性

    JSON.parse()
    这个函数 就是将拿出来的数据转为对象

    this.userinfo= JSON.parse(window.sessionStorage.getItem('yhxx'))
    

    我们在vue页面使用的时候

    在这里插入图片描述

    展开全文
  • 需要在js获取到存储在session中的值,session中存储的可能是一个字符串也可能是一个对象。 获取方法如下: <script type="text/javascript" src="js/jquery.min.js"></script> <script type=...
  • session保存自定义对象(登录信息)

    千次阅读 2019-02-13 17:30:48
    java web开发 session传值(自定义对象) 在进行java web开发时经常会遇到各种页面、页面和后端之间传值的问题,并且,有时传值需要传自定义对象。 以下,我将以登录信息为例,向大家讲解: 1.登录页面 login....
  • session对象的简单介绍和基本使用

    千次阅读 2021-05-19 15:21:42
    session对象 session对象用于储存特定的用户会话所需...当一个用户首次访问服务器上的一个jsp页面时,jsp引擎产生一个session对象,同时分配一个String id,jsp引擎同时将这个id存放在cookie,这样session对象和用户
  • 目录,更新ing,学习Java的点滴记录   目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录 ...在JavaEE开发,有时候会把一些数据保存到Http的request对象,Session对象,在使用Sprin
  • cookie 与 session 应用于互联网的一项基本技术——会话(客户端与服务端的交互)跟踪技术,用来跟踪用户的整个会话。简单来说,cookie 是通过在客户端记录信息确定用户身份的,而 session 则通过在服务器端记录...
  • session对象及其常用的方法

    千次阅读 2019-08-03 14:54:17
    session对象用于在会话范围内,记录每个客户端的访问状态,以...在jsp页面可以直接使用session对象(jsp的内置对象),也可以通过pageContext.getSession()或者request.getSession重新回去session对象。 &nbs...
  • Java Session对象及其常用方法

    千次阅读 2016-11-15 16:24:24
    session对象可以保存用户的登录信息,实现购物车功能等。 在jsp页面可以直接使用session对象,也可以通过pageContext.getSession()或request.getSession()方法重新获取session对象。 session的工作原理 ...
  • JSP页面中Session对象详解

    千次阅读 2015-05-07 19:29:21
    Session:当用户打开浏览器,访问某个网站时,服务器就会在服务器的内存为该浏览器分配一个空间,空间被这个...这个空间就是session空间,该控件的数据默认存储时间为30min,可以修改。session.setMaxInactiveInt...
  • ASP.NET的内置对象:Session对象

    千次阅读 2014-07-20 16:08:42
    Session对象用于存储在多个页面调用之间特定用户的信息。Session对象只针对单一网站使用者,不同的客户端无法相互访问。Session对象中止于联机机器离线时,也就是当网站使用者关掉浏览器或超过设定Session对象的有效...
  • Session中清除对象方法比较

    万次阅读 2016-07-03 18:36:01
    Session清除对象方法比较 http://blog.csdn.net/dongzhiquan/article/details/5446965Session.Abandon (当前页面结束之后删除Session对象) Session.Clear(清理Session对象中的内容)Abandon Abandon 方法删除所有...
  • jsp获取Session中的值

    千次阅读 2021-03-06 15:52:03
    一、后端通过shiro在session中存储数据:// username是前台传过来的用户名if (subject.isauthenticated()) {// 存入sessionusertoken.setval2session("username", username);return "登录成功";} else ...
  • 在某个项目,通过 Heibernate 查出某个对象后,对属性进行了 set 操作,并没有进行 update 操作,但是在数据自动保存了。 显然这并不是我想要的,我只是想 set 一下属性,在前端显示,并不想入库,但是 ...
  • Session 对于敏感、重要的信息,建议要储在服务器端,不能存储在浏览器,如用户名、余额、等级、验证码等信息。 在服务器端进行状态保持的方案就是...数据库就默认就有一个名字为 django_session保存se...
  • spring mvc中保存数据到session可以利用: 1. 基于HttpSession 2. 基于注解@SessionAttributes 首先需要明确的是,SessionAttributes和SessionAttribute两者是不同的,@SessionAttributes用于在会话存储Model的...
  • 本文按照代码运行的顺序,一步步分析了session的创建,保存到redis,将sessionid交由cookie托管的过程。分析完源码之后,我们知道了session的创建和保存到redis主要是由RedisOperationsSessionRepository类来完成。...
  • 在利用tomcat-redis-session-manager做session同步时,遇到了在session保存一个自定义对象时,修改该对象中的某个属性session未进行序列化,属性没有被存储到redis。 在tomcat-redis-session-manager的github上...
  • 九大内置对象之常用的内置对象 二.九大内置对象之Request 1.request对象主要用于处理客户端请求 2.request对象常用方法 三.九大内置对象之Response 1.response代表响应对象,主要用于向客户端...
  • 会话机制的一些解释与session对象

    千次阅读 2017-02-21 12:57:24
    (2)public void setAttribute(String key,Object obj)将参数Object指定的对象obj添加到session对象中,并为添加的对象属性指定一个索引关键字。 (3)public Object getAttribute(String key):获取...
  • jsp获取session中的值

    千次阅读 2019-11-20 23:48:32
    jsp获取session中的值 一、后端在session中存储数据: // username是前台传过来的用户名 User user=userService.login(username,password); session.setAttribute(user,user); 二、前端通过EL表达式获取对应...
  • Shiro之保存Session到数据库-yellowcong

    千次阅读 2017-12-21 14:42:18
    Session统一存放到Mysql数据库进行管理操作,这样我们就可以通过向操作数据库一样,对session进行操作和处理了。实现的大致步骤是,1、创建Session表;2、创建操作Session表的Mapper,3、创建继承...
  • session 和 request 保存数据

    千次阅读 2018-10-22 11:27:08
    用来设置session值的,sessionName是名称,object是你要保存对象session.getAttribute(“sessionName”); 用来得到对应名称的session值,即得到object对象,注意需要进行类型转换! 2、 User curruser = new ...
  • 前言:下面贴出的实现代码核心部分摘抄了xiufeng大佬的代码正文session对象简介:session对象的主要用途也是保存信息,当用户第一次到达网站时,系统为其分配一个session。session和application一样也使用自己的...
  • JavaWeb四大域对象session

    千次阅读 2018-04-06 17:20:50
    session是服务器端对象保存在服务器端, HttpSession底层依赖Cookie,或是URL重写。二、session的作用 * 会话范围:会话范围是某个用户从首次访问服务器开始,到该用户关闭浏览器结束! &gt; 会话:一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 187,331
精华内容 74,932
关键字:

session对象中保存属性