zoukankan      html  css  js  c++  java
  • Filter过滤器 不登陆无法访问其他页面

    package com.cscy.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 LoginFilter implements Filter {
    
    	@Override
    	public void destroy() {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void doFilter(ServletRequest request, ServletResponse response,    
    			FilterChain chain) throws IOException, ServletException {  
    		// 获得在下面代码中要用的request,response,session对象   
    		HttpServletRequest servletRequest = (HttpServletRequest) request;   
    		HttpServletResponse servletResponse = (HttpServletResponse) response;   
    		HttpSession session = servletRequest.getSession();   
    		// 获得用户请求的URI   
    		String path = servletRequest.getRequestURI();   
    		//System.out.println(path);   
    		// 从session里取信息   
    		String name = (String) session.getAttribute("name");     
    		// 登陆页面无需过滤   
    		if(path.indexOf("/login.jsp") > -1) {    
    			chain.doFilter(servletRequest, servletResponse);    
    			return;   }   
    		// 判断如果没有取到信息,就跳转到登陆页面   
    		if (name == null || "".equals(name)) {    
    			// 跳转到登陆页面    
    			servletResponse.sendRedirect("/dome/login.jsp");  
    			} else {    
    				// 已经登陆,继续此次请求    
    				chain.doFilter(request, response);   				
    		}
    	}
    
    	@Override
    	public void init(FilterConfig filterConfig) throws ServletException {
    		// TODO Auto-generated method stub
    		
    	}
    
    }
    

      

    <!-- 配置 登陆 过滤器 -->
        <filter>
            <filter-name>login</filter-name>
            <filter-class>com.cscy.Filter.LoginFilter</filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>login</filter-name>
            <url-pattern>*.jsp</url-pattern>
    <!--此处写/*代表浏览器地址栏中的所有请求都会被拦截 包括css文件和js文件 .jsp这是仅拦截以.jsp结尾的请求 -->
        </filter-mapping>
    

      

  • 相关阅读:
    Mysql update from
    抽象类
    表自链接递归查询死循环
    复制订阅服务器和 AlwaysOn 可用性组 (SQL Server)
    C#找出接口的所有实现类并遍历执行这些类的公共方法
    Cors Http 访问控制
    返回参数去掉xml格式,以纯json格式返回(转)
    混布技术提升资源利用率
    fair scheduler配置
    ambari安装
  • 原文地址:https://www.cnblogs.com/songjiabo/p/9117537.html
Copyright © 2011-2022 走看看