登录的过滤器Filter,没有登录不让直接访问主页

package edu.sanyang.hr.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.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;



//登录过滤器
@WebFilter("/*")
public class LoginFilter implements Filter {
	@Override
	public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
			HttpServletRequest request = (HttpServletRequest) req;
			HttpServletResponse response = (HttpServletResponse) resp;
			 HttpSession session = request.getSession();
			//获取session中作为判断的字段
		    String pwd = (String) session.getAttribute("pwd");
		    session.setMaxInactiveInterval(2*60);//设置单位为秒,设置为-1永不过期
			//获得用户请求的路径
			String path = request.getRequestURI();

			
	        //System.err.println("pwd------------"+pwd);
	        //System.err.println("path------------"+path);
	
	        if (path.contains("index.jsp")) {
	        	if (pwd != null) {
	        		 chain.doFilter(request, response);
	        		 return;
			 	}else if (pwd == null){
					response.sendRedirect("/HrManagement/login.jsp");
		        	 return;
				}
	        	
			}else {
				 chain.doFilter(request, response);
			}
	      
	        
	}
	@Override
	public void init(FilterConfig fConfig) throws ServletException {
	}

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

}

本人总结不喜勿喷!!

猜你喜欢

转载自blog.csdn.net/Smile__1/article/details/84874616