栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javaWeb的HttpSession

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javaWeb的HttpSession

Session的意思是会话,一次会话就是打开页面至关闭页面(注意页面跳转不是关闭页面)的过程中保存服务器端的信息(封装为一个对象,HttpSession对象;WEB容器中维护了大量的HttpSession对象),在会话保存在服务器端。Session不仅在javaweb中存在,只要是web开发,都有会话这种机制。
cookie可以将会话状态保存在客户端,Session将会话保存在服务器端。
HttpServletRequest对象可以获取HttpSession对象:

一、简单例子

  1. 新建一个空项目,里面加一个webapp模板的module;新建一个java文件夹,里面新建一个AccessMySelfSession类:

    这里用HttpServletRequest对象的getSession()获取用户的Session,HttpServletRequest对象的getRemoteAddr()获取用户信息,将两者在控制台输出。
    2.配置web.xml文件:

    3.编辑index.jsp文件:

    4.编译运行

    点击超链接:

    注意:红色下划线标出的便是用户Session的信息
    刷新网页页面发现它不变:

    关闭项目重新启动(getRemoteAddr()获取的用户信息不变,session的信息改变):

    session的实现原理:

    注意:浏览器禁用cookie后会导致无法获取到对应的会话(HttpSession)对象。

    补充:

    二、HttpSession的常用方法
    1.void setAttribute(String name,Object value):向会话范围存储一个数据
    2.Object getAttribute(String name):从session中获取数据
    例如,在上述项目中修改AccessMySelfSession类:

    上图中的setAttribute()将username变量保存在Session中(setAttribute()可以保存任意类型的变量)。
    添加一个HttpServlet子类,该类获取Session中的数据:

    修改web.xml文件配置访问路径:

    在web.jsp中添加一个a标记:

    启动运行项目:

    点击第一个超链接:
    按返回按钮后点击第二个超链接:

    控制台输出结果:

    3 void invalidate(string name):销毁session
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/584804.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号