zoukankan      html  css  js  c++  java
  • Session和Cookie

    session 工作机制
      当第一次调用getSession( )就创建了 session 对象, 并且会为该对象分配一个id,
      将这个 id 保存到session 对象中, 再赋值一个副本以 cookie 的方式保存到浏览器.
      再次调用 getSession( ) 方法的时候会将客户端传递的 cookie 进行遍历判断,
      如果有 JESSIONID 并且能和服务器端的 id 匹配 则不再生成新的内置对象, 直接返回该对象.
      如果直接访问一个 servlet. 在servlet 中不调用 getSession( )方法不会生成 session 内置对象的

    注意:
    访问 jsp 页面的时候会产生 session 对象 , 因为 jsp 是一个特殊的 Servlet,
    而且在这个特殊的 Servlet 中默认调用了 getSession( ) 方法.
    当访问 jsp 页面的时候回家过 jsp 转换成一个*.java原码文件, 之后再将该类转换为*.class 文件,
    转换后的*.class文件就是一个特殊的 servlet, 而且在该servlet 中调用 getSession( )方法.

    ex:

     1 @SuppressWarnings("serial")
     2 public class EmpServlet extends HttpServlet {
     3     @Override
     4     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     5         //调用了 getSession() 方法
     6         req.getSession();
     7         Cookie[] cs = req.getCookies();
     8         if (cs != null) {
     9             for (Cookie c : cs) {
    10                 System.out.println(c.getName() + ":" + c.getValue());
    11             }
    12         }
    13     }
    14 }
  • 相关阅读:
    readonly
    怎么查看ubuntu是32bit还是64bit的?
    array_diff使用注意
    PhpStorm 快速查找文件 `Ctrl`+`Shift`+`N`
    discuz安装,uc_server目录下乱码问题:
    vim,删除所有
    查看文件大小
    代码调试小结(一)
    Ansible 远程执行脚本
    Ansible 拷贝文件或目录
  • 原文地址:https://www.cnblogs.com/yslf/p/10745577.html
Copyright © 2011-2022 走看看