过滤器的简单使用

下面的代码为设置页面的编码问题

package Filter;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

/**
 * 设置所有页面的编码
 */
@WebFilter("/*")
public class setEnCoding implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        ServletRequest request =  servletRequest;
        ServletResponse response =  servletResponse;
        //设编
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=utf-8");
        filterChain.doFilter(servletRequest,servletResponse);
    }

    @Override
    public void destroy() {

    }
}

下面的代码设置的是指定特定的servlet通过和加了防跳墙等

package Filter;

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

@WebFilter("/*") //拦截所有
public class StopUser implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        //转化类型,要使用到路径
        HttpServletRequest servletRequest1 = (HttpServletRequest) servletRequest;
        HttpServletResponse servletResponse1 = (HttpServletResponse) servletResponse;
        //路径 得到请求行的资源名称
        String requestURI = servletRequest1.getRequestURI();
        //防跳墙
        HttpSession session = servletRequest1.getSession();
        //如果是登录界面,验证码,Login(处理表单)注册 处理注册 这五个直接放走
        if (requestURI.endsWith("/login.jsp") || requestURI.endsWith("/Code") || requestURI.endsWith("/Login") || requestURI.endsWith("/register.jsp") || requestURI.endsWith("/register")){
            //放行走
            filterChain.doFilter(servletRequest,servletResponse);
        }else if (session == null || session.getAttribute("fangtiqoqiang") == null){
            servletResponse1.sendRedirect("login.jsp");
        }else if (session != null || session.getAttribute("fangtiaoqiao") != null){
            filterChain.doFilter(servletRequest,servletResponse);
        }
    }

    @Override
    public void destroy() {

    }
}

相关推荐

  1. 过滤器简单使用

    2023-12-28 20:16:04       42 阅读
  2. Vue中表单数据和过滤器简单使用

    2023-12-28 20:16:04       35 阅读
  3. 布隆过滤器原理简介

    2023-12-28 20:16:04       14 阅读
  4. 布隆过滤器实现及使用

    2023-12-28 20:16:04       19 阅读
  5. SpringBoot Filter过滤器使用

    2023-12-28 20:16:04       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-28 20:16:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-28 20:16:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-28 20:16:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-28 20:16:04       18 阅读

热门阅读

  1. Redis单线程的正确理解(一)

    2023-12-28 20:16:04       41 阅读
  2. css吸顶(position: sticky;)

    2023-12-28 20:16:04       58 阅读
  3. 【排序算法】合并两个有序数组

    2023-12-28 20:16:04       31 阅读
  4. MongoDB

    MongoDB

    2023-12-28 20:16:04      39 阅读
  5. Tekton

    Tekton

    2023-12-28 20:16:04      34 阅读
  6. MongoDB中的物化视图

    2023-12-28 20:16:04       39 阅读
  7. 2022年全国职业院校技能大赛软件测试赛项赛题库

    2023-12-28 20:16:04       39 阅读
  8. Linux安装mysql

    2023-12-28 20:16:04       37 阅读
  9. 全国计算机等级考试| 二级Python | 真题及解析(1)

    2023-12-28 20:16:04       30 阅读