13、过滤器、监听器的常见应用

监听器:GUI编程中经常使用;

package com.kuang.listener;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

public class TestPanel {
    public static void main(String[] args) {
        Frame frame = new Frame("万圣节快乐");//新建一个窗体
        Panel panel = new Panel(null);//一个面板
        frame.setLayout(null);//设置窗体的布局

        frame.setBounds(300,300,500,500);
        frame.setBackground(new Color(0,0,255));//设置背景颜色

        panel.setBounds(50,50,300,300);
        panel.setBackground(new Color(0,255,0));//设置背景颜色

        frame.add(panel);

        frame.setVisible(true);

        //监听事件,监听关闭事件
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });


    }
}

 

用户登录之后才能进入主页!用户注销后就不能进入主页了

1.用户登录之后,向Sessison中放入用户的数据

2.进入中野的时候要判断用户是否已经登录;要求在过滤器中实现!

package com.kuang.filter;

import com.kuang.util.Constant;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class SysFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
        /*
        if (request.getSession().getAttribute(Constant.USER_SESSION).Level==VIP1){
            response.sendRedirect("/vip1/index.jsp");
        }
        if (request.getSession().getAttribute(Constant.USER_SESSION).Level==VIP2){
            response.sendRedirect("/vip2/index.jsp");
        }
        if (request.getSession().getAttribute(Constant.USER_SESSION).Level==VIP3){
            response.sendRedirect("/vip3/index.jsp");
        }
         */

        //ServletRequest   HttpServletRequest

        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) resp;



        if (request.getSession().getAttribute(Constant.USER_SESSION)==null){
            response.sendRedirect("/error.jsp");
        }

        chain.doFilter(request,response);

    }

    @Override
    public void destroy() {

    }
}

 

posted @ 2020-12-17 17:05  王刘study  阅读(91)  评论(0)    收藏  举报