2024年Java最全JavaWeb--快速入门Filter过滤器,Java程序员进大厂面试必备基础技能

写在最后

还有一份JAVA核心知识点整理(PDF):JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

Created by IntelliJ IDEA.

User: Jack

Date: 2022/1/3

Time: 9:08

To change this template use File | Settings | File Templates.

–%>

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

Title

<%

Object user = session.getAttribute(“user”);

if (user == null){

request.getRequestDispatcher(“/login.jsp”).forward(request,response);

return;

}

%>

image-20220102230552310

完整的体验

2.1 编写AdminFilter实现接口

package com.caq.filter;

import javax.servlet.*;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;

import java.io.IOException;

public class AdminFilter implements Filter {

@Override

public void init(FilterConfig filterConfig) throws ServletException {

}

/**

  • 拦截请求,然后做权限检查

  • @param servletRequest

  • @param servletResponse

  • @param filterChain

  • @throws IOException

  • @throws ServletException

*/

@Override

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;

HttpSession session = httpServletRequest.getSession();

Object user = session.getAttribute(“user”);

//如果等于null,说明没有登录

if (user == null) {

servletRequest.getRequestDispatcher(“/login.jsp”).forward(servletRequest, servletResponse);

return;

} else {

//让程序继续往下访问用户的目标资源

filterChain.doFilter(servletRequest,servletResponse);

}

}

@Override

public void destroy() {

}

}

2.2在xml中配置访问路径

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns=“http://xmlns.jcp.org/xml/ns/javaee”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd”

version=“4.0”>

AdminFilter

com.caq.filter.AdminFilter

AdminFilter

/admin/*

RegistServlet

com.caq.servlet.RegistServlet

RegistServlet

/registServlet

KaptchaServlet

com.google.code.kaptcha.servlet.KaptchaServlet

KaptchaServlet

/kaptcha.jpg

2.3 打断点debug部署服务进行测试

可以看到首先经过的是filter过滤器

image-20220103101733892

进行放行才会出现a.jsp的页面

image-20220103101911381

3. Filter的生命周期


Filter的生命周期包含几个方法

​ 1、构造器方法

​ 2、init初始化方法

​ 第1,2步,在 web工程启动的时候执行( Filter已经创建)

​ 3、doFilter过滤方法

​ 第3步,每次拦截到请求,就会执行

​ 4、destroy销毁

最后

手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友

image.png

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

截到请求,就会执行

​ 4、destroy销毁

最后

手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友

[外链图片转存中…(img-jjUMraMn-1714855563011)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值