fliter过滤器过滤未登录用户

新建类接入filter接口

package com.bss.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;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;




public class LoginFliter implements Filter {


	   public void destroy() {
	        // TODO Auto-generated method stub
	    }


	    public void doFilter(ServletRequest arg0, ServletResponse arg1,
	            FilterChain arg2) throws IOException, ServletException {
	        // TODO Auto-generated method stub
	        HttpServletRequest req = (HttpServletRequest)arg0;
	        HttpServletResponse resp =(HttpServletResponse) arg1;
	        HttpSession session = req.getSession();
	           // 获得用户请求的URI
	        String path = req.getRequestURI();
	        // 从request取得已经登录验证的凭证 我这里的demo用的是password来作为登录凭证
	        String password = (String) req.getAttribute("password");
	        // login.html页面无需过滤(根据自己项目的要求来)

	        if(path.indexOf("/login.html") > -1) {//注意:登录页面千万不能过滤  不然过滤器就。。。。。自行调试不要偷懒!这样记忆深刻
	            arg2.doFilter(req, resp);
	            return;
	        } else {//如果不是login.jsp进行过滤
	        	if (password == null || "".equals(password)) {
	             // (将需要过滤的页面放在webroot下的admin文件夹内)  返回到webroot目录下  跳转回登陆页面
	        	resp.sendRedirect("../login.html");
	            } else {
	                // 已经登陆,继续此次请求
	                arg2.doFilter(req, resp);
	            }
	        }
	    }
	    public void init(FilterConfig arg0) throws ServletException {
	        // TODO Auto-generated method stub
	    }


}
web.xml

	<filter>
		<filter-name>LoginFilter</filter-name>
		<filter-class>com.bss.filter.LoginFliter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>LoginFilter</filter-name>
		<url-pattern>/admin/*</url-pattern>
	</filter-mapping> 




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值