zoukankan      html  css  js  c++  java
  • 2.servlet的会话机制session

    session的说明:

    1.session是服务端技术,存放在服务器

    2.一个用户浏览器对应一个session域对象,一对一的对应关系

    3.session的默认生命周期是30min,可以通过web.xml修改

    4.session中可以存放多个属性

    5.session可以存放对象

    6.如果同一个浏览器,session.setAttribute("name",val)设置属性的时候,如果名字相同,会替换该对象的值

    创建session

    //访问session,当发现没有session时候,就会自动创建session
    httpSession session=request.getSession();
    //给session放入属性
    session.setAttribute("uname","名字");
    session.setAttribute("age",60);
    //删除属性
    session.removeAttribute("age");
    //session的生命周期默认30min tomcat的web.xml文件默认设置

    浏览器获取session

    //获取session
    HttpSession session=request.getSession();
    //获取
    String uname = (String)session.getAttribute("uname");

    防止用户非法登录到某个页面:

    当用户登录成功后,可以把信息存放到session,然后再需要验证的页面中获取用户信息,如果为null,则说明用户非法,可以让其重新登录。

    修改session的生命周期:

    这样修改:

    // 1. 一个地方是tomcat/conf/web.xml
      <session-config>
    
        <session-timeout>30</session-timeout>
    
    </session-config>
    
    //对所有的web应用生效
    
    // 2. 另一个地方,就是单个的web应用下去修改web.xml文件同样写上面的代码
    <session-config>
    
        <session-timeout>30</session-timeout>
    
    </session-config>
    //如果冲突就以自己的web应用为标准  

    3....
    session.setMaxInactiveInterval(60);//60秒指的是发呆时间,60秒内无操作就死亡

    session的生命周期示意图

    在session中禁用cookie

    在项目的webRoot目录中的META-INF文件下,打开或者创建context.xml文件下,编辑内容:(只在某个项目中禁用cookie)

    <?xml version="1.0" encoding="UTF-8"?>
    <Context cookies="false" path="/ch06">
    </Context>
    

     或者打开tomcat的配置文件context.xml(禁用tomcat中所以web项目中的cookie)

    <?xml version="1.0" encoding="UTF-8"?>
    <Context cookies="false">
    ........ </Context>

    7.为什么浏览器能够为不同的浏览器提供不同的session

  • 相关阅读:
    swing_AbstractTableModel 创建表格
    swing_tableModel 创建表格
    LDA主题模型
    jieba分词
    LightGBM介绍及参数调优
    机器学习中常见的损失函数
    const和define区别 static
    C++四种类型转换
    行为模式->策略模式
    结构模式->享元模式
  • 原文地址:https://www.cnblogs.com/sunli0205/p/5883004.html
Copyright © 2011-2022 走看看