lyt0612

导航

2022-09-02 第二组刘禹彤 学习笔记

打卡45天

###学习内容

JavaWEB(续)

cookie

保存http状态

  • http不能保存http各种状态,保存在客户端,保存在浏览器上的登陆信息,保存在浏览器上,以键值对的方式,不安全

使用cookie的步骤

  1. 创建cookie对象
  2. 设置最大时效
  3. 把cookie放入到Http响应头中

获取cookie

Cookie[] cookies = request.getCookies();
        if(Objects.nonNull(cookies) && cookies.length > 0){
            System.out.println("发现了cookie...");

创建cookie

 String username = request.getParameter("username");
 String password = request.getParameter("password");
 if(Objects.equals(username,"admin") && Objects.equals(password,"123456")){
                Cookie cookie = new Cookie("username",username);

设置cookie最大时效

    cookie.setMaxAge(5000);

把cookie放入响应中

response.addCookie(cookie);
    response.sendRedirect("success.html");

session

  • HttpSession 会话
  • session中的数据什么时候失效。

1.过期了。

2.关闭浏览器。(并不能完全销毁session,JSESSIONID,根据JSESSIONID找到之前的session)

3.调用session销毁的方法。

  • 网站上的安全退出,销毁session。

获取session会话

  HttpSession session = request.getSession();
        String username = request.getParameter("username");
  • 把username放入到session中
 session.setAttribute("username",username);

session销毁

session.invalidate();

设置session的过期时间

  session.setMaxInactiveInterval(3000);

根据key的值删除对应的属性

session.removeAttribute("");
        response.sendRedirect("success.html");

Filter

Filter(过滤器)

1、JavaWEB一个重要组件,可以对发送到servlet的请求进行拦截过滤,也可以对响应进行拦截。

2、Filter是实现了Filter接口的Java类

3、Filter需要在web.xml中进行注册,也可以通过注解来注册。

创建一个Filter--------创建一个类,实现Filter接口即可。

初始化

  • 在创建Filter对象,在servlet容器(tomcat)加载当前web应用(当前工程)被调用
  • 只执行一次。当前Filter的初始化操作,Filter和Servlet都是单例的。
  • FilterConfig类似于ServletConfig,获取初始化参数。

主要过滤请求的方法(核心方法)

真正Filter要处理的逻辑代码需要写在此方法里,每次拦截都会调用这个方法。

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

Filter的执行顺序

filter-mapping的上下顺序有关

listener

listener(监听器)

专门用于对其他对象身上发生的事件或状态改变进行监听和相应的处理

分类

1、监听域对象自身的创建和销毁

2、监听域对象中属性的增加和删除

3、监听绑定到session中的某个对象的状态的事件监听

JavaEE(servlet)三大件: servlet filter listener

###学习心得

今天学习了JavaWEB的最后一部分内容,整体下来感觉需要一段时间消化理解

###掌握情况:一般

posted on 2022-09-02 18:42  小仙女吖~  阅读(15)  评论(0编辑  收藏  举报