JAVA-EE监听器BindingListener的使用------计算机网络经典

Listener监听器
监听器是servlet规范的一员,和filter一样
它是给予我们java程序员的特殊时机,如果要执行这段代码,你需要想到使用对应的监听器
有servletContext,ContextAttribute,request,requestAttribute等
session和sessionAttribute
监听器都需要webListener注解
attribute监听的是域中数据的变化,只要数据变化,就会执行对应的方法
sessionBinding监听器不需要webListener进行注解,它是给我们的类用于实现的
假设一个类实现了该监听器,那么这个对象在被放入或是取出域的时候都会执行方法
bind绑定和unbind解绑
Listener监听器
监听器是servlet规范的一员,和filter一样
它是给予我们java程序员的特殊时机,如果要执行这段代码,你需要想到使用对应的监听器
有servletContext,ContextAttribute,request,requestAttribute等
session和sessionAttribute
监听器都需要webListener注解
attribute监听的是域中数据的变化,只要数据变化,就会执行对应的方法
sessionBinding监听器不需要webListener进行注解,它是给我们的类用于实现的
假设一个类实现了该监听器,那么这个对象在被放入或是取出域的时候都会执行方法
bind绑定和unbind解绑
package com.bjpowernode.oa.listener;

import com.bjpowernode.oa.Pojo.User;
import com.bjpowernode.oa.Pojo.User1;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;

import java.io.IOException;

@WebServlet("/session/bind")
public class HttpSessionBindingListener extends HttpServlet
{
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取session对象
        HttpSession session = request.getSession();
        //准备个对象
        User user = new User("1","jack","123");
        User1 user1 = new User1("2","rose","123");
        session.setAttribute("user",user);
        session.setAttribute("user1",user1);
    }
}
package com.bjpowernode.oa.listener;

import com.bjpowernode.oa.Pojo.User;
import com.bjpowernode.oa.Pojo.User1;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;

import java.io.IOException;

@WebServlet("/session/bind")
public class HttpSessionBindingListener extends HttpServlet
{
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取session对象
        HttpSession session = request.getSession();
        //准备个对象
        User user = new User("1","jack","123");
        User1 user1 = new User1("2","rose","123");
        session.setAttribute("user",user);
        session.setAttribute("user1",user1);
    }
}
package com.bjpowernode.oa.listener;

import jakarta.servlet.annotation.WebListener;
import jakarta.servlet.http.HttpSessionAttributeListener;
import jakarta.servlet.http.HttpSessionBindingEvent;

@WebListener
public class MyHttpAttListener implements HttpSessionAttributeListener
{
    @Override
    public void attributeAdded(HttpSessionBindingEvent se) {
        System.out.println("session存档");
    }

    @Override
    public void attributeRemoved(HttpSessionBindingEvent se) {
        System.out.println("session移除");
    }

    @Override
    public void attributeReplaced(HttpSessionBindingEvent se) {
        System.out.println("session替换");
    }
}
package com.bjpowernode.oa.listener;

import jakarta.servlet.annotation.WebListener;
import jakarta.servlet.http.HttpSessionAttributeListener;
import jakarta.servlet.http.HttpSessionBindingEvent;

@WebListener
public class MyHttpAttListener implements HttpSessionAttributeListener
{
    @Override
    public void attributeAdded(HttpSessionBindingEvent se) {
        System.out.println("session存档");
    }

    @Override
    public void attributeRemoved(HttpSessionBindingEvent se) {
        System.out.println("session移除");
    }

    @Override
    public void attributeReplaced(HttpSessionBindingEvent se) {
        System.out.println("session替换");
    }
}
package com.bjpowernode.oa.listener;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;

import java.io.IOException;

@WebServlet("/L/L")
public class SessionC extends HttpServlet
{
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession(false);
        session.setAttribute("123","123");
        session.setAttribute("123","123");
        session.removeAttribute("123");
    }
}
package com.bjpowernode.oa.listener;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;

import java.io.IOException;

@WebServlet("/L/L")
public class SessionC extends HttpServlet
{
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession(false);
        session.setAttribute("123","123");
        session.setAttribute("123","123");
        session.removeAttribute("123");
    }
}
package com.bjpowernode.oa.Pojo;

import jakarta.servlet.http.HttpSessionBindingEvent;
import jakarta.servlet.http.HttpSessionBindingListener;

public class User implements HttpSessionBindingListener
{
    private String usercode;
    private String username;
    private String password;

    @Override
    public void valueBound(HttpSessionBindingEvent event) {
        System.out.println("数据绑定");
    }

    @Override
    public void valueUnbound(HttpSessionBindingEvent event) {
        System.out.println("数据解绑");
    }

    public String getUsercode() {
        return usercode;
    }

    public void setUsercode(String usercode) {
        this.usercode = usercode;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public User() {
    }

    public User(String usercode, String username, String password) {
        this.usercode = usercode;
        this.username = username;
        this.password = password;
    }
}
package com.bjpowernode.oa.Pojo;

import jakarta.servlet.http.HttpSessionBindingEvent;
import jakarta.servlet.http.HttpSessionBindingListener;

public class User implements HttpSessionBindingListener
{
    private String usercode;
    private String username;
    private String password;

    @Override
    public void valueBound(HttpSessionBindingEvent event) {
        System.out.println("数据绑定");
    }

    @Override
    public void valueUnbound(HttpSessionBindingEvent event) {
        System.out.println("数据解绑");
    }

    public String getUsercode() {
        return usercode;
    }

    public void setUsercode(String usercode) {
        this.usercode = usercode;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public User() {
    }

    public User(String usercode, String username, String password) {
        this.usercode = usercode;
        this.username = username;
        this.password = password;
    }
}
package com.bjpowernode.oa.Pojo;

public class User1
{
    private String usercode;
    private String username;
    private String password;

    public String getUsercode() {
        return usercode;
    }

    public void setUsercode(String usercode) {
        this.usercode = usercode;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public User1() {
    }

    public User1(String usercode, String username, String password) {
        this.usercode = usercode;
        this.username = username;
        this.password = password;
    }
}
package com.bjpowernode.oa.Pojo;

public class User1
{
    private String usercode;
    private String username;
    private String password;

    public String getUsercode() {
        return usercode;
    }

    public void setUsercode(String usercode) {
        this.usercode = usercode;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public User1() {
    }

    public User1(String usercode, String username, String password) {
        this.usercode = usercode;
        this.username = username;
        this.password = password;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值