欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Filter 的基本使用

程序员文章站 2022-06-13 13:19:39
...

第一步打开这个other

Filter 的基本使用

第二步打开

Filter 的基本使用

然后搜索Filter,点击Next

Filter 的基本使用

取包名,然后取class的名字,点击next的步骤

Filter 的基本使用

修改这个/jsps/cart/*

添加CartItemServlet

点击Add

过滤掉/jsps/cart/*    和    CartItemServlet

Filter 的基本使用

 

点击下一步finish

Filter 的基本使用

将会自动生成LoginFilter

Filter 的基本使用

自动生成的web.xml文件

Filter 的基本使用

分析的文字:

Filter 的基本使用

登录页面的过滤器代码:

package cn.itcast.goods.web.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

public class LoginFilter implements Filter {

//    /**
//     * Default constructor. 
//     */
//    public LoginFilter() {
//        // TODO Auto-generated constructor stub
//    }
//	  这个自动生成的构造器,没用到!

	public void destroy() {
		
	}

	public void doFilter(ServletRequest request, ServletResponse response, 
			FilterChain chain) throws IOException, ServletException {
		/*
		 * 1.获取session中的user
		 * 2.判断是否为null
		 *  > 如果为null: 保存错误信息,转发到msg.jsp
		 *  > 如果不为null: 放行
		 */
		HttpServletRequest req = (HttpServletRequest) request;
		Object user = req.getSession().getAttribute("sessionUser");
		if(user == null){
			req.setAttribute("code", "error");		//为了显示X图片
			req.setAttribute("msg", "您还没有登录,不能访问本资源");
			req.getRequestDispatcher("/jsps/msg.jsp").forward(req, response);
		}else{
		chain.doFilter(request, response);			//放行
		}
	}

	public void init(FilterConfig fConfig) throws ServletException {
		
	}

}

 

 

 

相关标签: 原创