JavaWeb初识 Session绘画跟踪技术-阿里云开发者社区

开发者社区> 死瘦宅> 正文

JavaWeb初识 Session绘画跟踪技术

简介: Cookie绘画跟踪技术有一个很大缺点:信息不安全信息是暴露在服务器中的怎么办所以就有了Session技术Session技术的好处:隐藏用户信息,信息不再存储在客户端而是在服务器,客户端拿到只是服务器对象识别的唯一钥匙,在返回和钥匙相对应Session对象信息,可以有大的信息量(集合存储),因为信息都在服务器存储客户端只是拿着钥匙去调用而已。
+关注继续查看

Cookie绘画跟踪技术有一个很大缺点:信息不安全信息是暴露在服务器中的怎么办所以就有了Session技术
Session技术的好处:隐藏用户信息,信息不再存储在客户端而是在服务器,客户端拿到只是服务器对象识别的唯一钥匙,在返回和钥匙相对应Session对象信息,可以有大的信息量(集合存储),因为信息都在服务器存储客户端只是拿着钥匙去调用而已。
Session的调用过程:他有个Session池里面存放着Session对象
第一步先问你又没有Session对象 第一次肯定没有啊
第二步 知道你没有 咋办,创建呗,创建好了Session并将对象放到池子里,返回这个Session对象的唯一Session对象Id
第三步:拿到返回的Session对象ID通过Cookie将他存储在服务器上

那往后的调用就是
通过Cookie拿着你的Session_ID去找Session对象
2J_48IAI6_0V_MT6R_2M_O
X_UDURJC_C840NBMIF_CDJ

Session设置
Session 在服务器的生命周期是 无任何访问 30分钟外销毁
Session 可以设置有效时间,但是别设置很长时间 应该会占内存的

    <session-timeout>1</session-timeout><!--时间设置-->
    <cookie-config>
        <name>KAIGEJSESSIONID</name><Session JSESSIONID设置>
    </cookie-config>
</session-config>
 

JSESSIONID 是使用Cookie技术存放在浏览器内存中(存放的是唯一钥匙,而不是值)

创建SESSION
request.getSession(boolean); 自己选套餐
true 创建session的时候问浏览器是否给了jsession_id

   没有创建一个Session对象 仍进池里,生产出JSESSION_ID、返回Session对象
   有 去session对象池里抓对象 1.没有抓到 就创建一个
                                            2.有抓到就更新存活时间 返回对象

false 创建session的时候问浏览器是否给了jsessionid

    没有 就返回null
    有 就去池里抓1.有对象就更新存活世界并返回session对象
                        2.没有 返回null   

request.getSession();(有就抓没有就创建)

演示代码

public class B extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=UTF-8");
        HttpSession httpSession = req.getSession();
        httpSession.setAttribute("name", "嘻嘻哈哈");
        RequestDispatcher requestDispatcher = req.getRequestDispatcher("a");
        requestDispatcher.forward(req, resp);
    }
}

@WebServlet("/a")
public class A extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        HttpSession httpSession = req.getSession();
        System.out.println(httpSession.getAttribute("name"));
    }
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10083 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26791 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11622 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13888 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9161 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7365 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4504 0
+关注
62
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载