Javaweb设置非常简单的页面拦截器Filter

userFilter类

这里给所有的用户设置一个过滤,不能访问所有的页面,除非登录!!

package com.jyuxuan.filter;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class userFilter implements Filter {
    
    
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    
    
        System.out.println("-------------init-------------");
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    
    
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        if (request.getSession().getAttribute("user") == null) {
    
    
            request.getSession().setAttribute("result", "请您登录后访问本系统");
            servletRequest.getRequestDispatcher("/login.jsp").forward(servletRequest, servletResponse);
        } else {
    
    
            filterChain.doFilter(servletRequest, servletResponse);
        }
    }

    @Override
    public void destroy() {
    
    
        System.out.println("-------------destroy-------------");
    }
}

web.xml

一个设置fileter的class位置,一个设置拦截的所有页面,其中有许多设置方法

	<filter>
        <filter-name>userFilter</filter-name>
        <filter-class>com.jyuxuan.filter.userFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>userFilter</filter-name>
        <url-pattern>/index.jsp</url-pattern>
        <url-pattern>/personal.jsp</url-pattern>
        <url-pattern>/postcard.jsp</url-pattern>
        <url-pattern>/recycle.jsp</url-pattern>
        <url-pattern>/about.jsp</url-pattern>
        <url-pattern>/postcard-input.jsp</url-pattern>
    </filter-mapping>

猜你喜欢

转载自blog.csdn.net/qq_43656233/article/details/107308972