学习相关资料:

Java web开发——过滤器Filter的常见使用

简单通俗易懂的理解,就是类似于杀毒软件对电脑系统的功能和作用。即程序中的防火墙。

过滤器运行原理:

网页请求过滤器Filter

 

若有多个过滤器,则按顺序进行执行,直到最后一个过滤器通过后,才可进行下一步的请求。

项目要求和功能:

1.编码过滤器,对乱码进行过滤

2.登录权限过滤器,只有用户登陆后,才可以访问相关页面

项目思路:

1.在Filter中将reques和response进行强制转换

2.将所需要过滤的东西(本体为编码格式,和验证用户登录)的相关代码放入Filter中

3.对Filter设置适用范围,排除不用过滤的界面

项目源码:

对编码格式的过滤:

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

/**
 * Servlet Filter implementation class LoginFilter
 */
@WebFilter(filterName="CodeFilter",urlPatterns="/*")//设置适用的范围
public class CodeFilter implements Filter {

    /**
     * Default constructor. 
     */
    public CodeFilter() {
        // TODO Auto-generated constructor stub
    }

    /**
     * @see Filter#destroy()
     */
    public void destroy() {
        // TODO Auto-generated method stub
    }

    /**
     * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
     */
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        // TODO Auto-generated method stub
        
        HttpServletRequest req=(HttpServletRequest) request;
        HttpServletResponse res=(HttpServletResponse) response;
        
        //用户请求编码设置
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("ytf-8");
        response.setContentType("text/html;charset=utf-8");
        
        System.out.println("进入编码过滤器......");
        chain.doFilter(request, response);
        System.out.println("退出编码过滤器......");
        
    }

    /**
     * @see Filter#init(FilterConfig)
     */
    public void init(FilterConfig fConfig) throws ServletException {
        // TODO Auto-generated method stub
    }

}
CodeFilter

相关文章:

  • 2021-06-15
猜你喜欢
  • 2022-12-23
  • 2021-06-25
  • 2022-01-13
  • 2022-12-23
  • 2021-09-28
  • 2021-06-27
  • 2021-12-29
相关资源
相似解决方案