2022-09-03 卢睿 学习心得

1.Cookie

【曲奇】

  • 保存http状态

    • 保存在客户端上,保存在浏览器上的,登录信息
    • 保存在浏览器上,以键值对的形式,不安全

使用cookie的步骤

  • 创建cookie的对象

  • 设置最大时效

  • 把cookie放入到HTTP响应头中

  •  // 1.获取cookie
            Cookie[] cookies = req.getCookies();
            if (Objects.nonNull(cookies) && cookies.length>0){
                // 存在cookie的情况
                for (Cookie cookie : cookies) {
                    System.out.println(cookie.getName()+"------->"+cookie.getValue());
                    System.out.println(cookie.getMaxAge());
                }
            }else {
                String username = req.getParameter("username");
                String password = req.getParameter("password");
                if (Objects.equals(username,"admin")&&Objects.equals(password,"123456")) {
                    System.out.println("没有发现cookie,创建cookie");
                    Cookie cookie = new Cookie("username", username);
                    // 设置cookie的最大时效
                    cookie.setMaxAge(10);
                    // 把cookie放入到响应中
                    resp.addCookie(cookie);
                    resp.sendRedirect("success.html");
                }
            }
    

2.session

是HttpSession类的对象

session什么时候失效

  • 过期了
  • 关闭浏览器(并不能完全的销毁session,JESSIONID,根据JESSIONID找到之前的session)
  • 调用session销毁的方法

创建session的步骤

  •         // 获取session 会话
            HttpSession session = req.getSession();
            String username = req.getParameter("username");
            // 把username放入session中
            session.setAttribute("username",username);
    
  • 网站上的安全退出,销毁session

3.过滤器

Filter:

  • Javaweb的重要组件,可以对发送到servlet的请求进行拦截过滤,也可以对响应进行拦截
  • 是实现了Filter接口的Java类
  • Filter需要在web.xml中进行注册,也可以通过注解来注册

如何创建一个Filter,只需要创建一个类。来实现Filter接口即可

Filter的执行顺序

  • filter-mapping的上下顺序有关——【xml配置】
  • 26个英文字母的顺序——【注解】

doFilter方法里的参数

  • /*
    ServletRequest:实际上当请求来的时候,实例化的还是HttpServletRequest
    ServletResponse:实际上当请求来的时候,实例化的还是HttpServletResponse
    FilterChain:过滤器链,一个项目中是可以有多个过滤器的,会形成一个链,当前过滤器把请求传递给下一个过滤器
    */
    

重点

只要地址栏不变,request永远是同一个,数据也就永远都在

posted @ 2022-09-03 18:30  LegendR  阅读(29)  评论(0)    收藏  举报