验证用户的某些操作功能是否已登录

来源:互联网 发布:矩阵切换器怎么使用 编辑:程序博客网 时间:2024/06/04 18:55

web.xml配置

<filter>

        <filter-name>LoginFilter</filter-name>
        <filter-class>com.etc.filter.LoginFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>LoginFilter</filter-name>
        <url-pattern>/service/personal/user/doUserList/0</url-pattern>
    </filter-mapping>
    
    <filter-mapping>
        <filter-name>LoginFilter</filter-name>
        <url-pattern>/service/personal/user/doLoginOut/0</url-pattern><!--注销操作请求地址-->

    </filter-mapping>

或者

<filter>

        <filter-name>LoginFilter</filter-name>
        <filter-class>com.etc.filter.LoginFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>LoginFilter</filter-name>
        <url-pattern>/service/personal/user/doUserList/0</url-pattern><!--查询用户列表操作>

       <url-pattern>/service/personal/user/doLoginOut/0</url-pattern><!--注销操作请求地址-->
    </filter-mapping>

java 代码

package com.etc.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;

public class LoginFilter implements Filter{

    @Override
    public void destroy() {
        // TODO Auto-generated method stub
        System.out.println("destroy>>>>>>>");
    }

    @Override
    public void doFilter(ServletRequest req, ServletResponse res,
            FilterChain arg2) throws IOException, ServletException {
        HttpServletRequest request=(HttpServletRequest) req;
        HttpServletResponse response=(HttpServletResponse) res;
        StringBuffer str = request.getRequestURL();
        boolean isLogin=false;
        //req.getRequestDispatcher("/JavaeeDemo9/index.jsp").forward(req,res);
        if(isLogin){
            System.out.println("未登录");
            System.out.println("未登录"+str);
            System.out.println("未登录");
        }else{
            System.out.println("已登录");
            System.out.println("未登录"+str);
            System.out.println("已登录");
            arg2.doFilter(req, res);
        }
        
        
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {
        // TODO Auto-generated method stub
        System.out.println("init>>>>>>>");
    }

}


0 0