使用jsp过滤器实现登录权限

来源:互联网 发布:淘宝卖东西包装怎么办 编辑:程序博客网 时间:2024/05/22 15:50
package com.iflytek.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(urlPatterns={"/*"})public class LoginFilter implements Filter {@Overridepublic void destroy() {}@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain fc) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest)arg0;HttpServletResponse response = (HttpServletResponse)arg1;// 请求服务器地址   servlet或者是jsp    如果有login  不需要判断session// 请求服务器地址   servlet或者是jsp    如果没有login  需要判断session// 请求资源文件 css js jpg等  不需要判断sessionString uri = request.getRequestURI();//获得请求的URISystem.out.println("hello");if(uri.contains("resource")){// 访问资源文件// 将请求提交给服务器fc.doFilter(arg0, arg1);}else{if(uri.contains("login")){// 将请求提交给服务器fc.doFilter(arg0, arg1);}else{HttpSession session = request.getSession();if(session.getAttribute("user") == null){// 回到登录页面response.sendRedirect(request.getContextPath() + "/views/login.jsp");}else{// 将请求提交给服务器fc.doFilter(arg0, arg1);}}}}@Overridepublic void init(FilterConfig arg0) throws ServletException {}}

0 0
原创粉丝点击