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() { } }

浙公网安备 33010602011771号