当前位置: 首页 > news >正文

网站开发流程框架区块链开发与应用专业

网站开发流程框架,区块链开发与应用专业,广西桂林旅游必去十大景点,河南住房和城乡建设网站过滤器Filter过滤器的基本使用操作:第1步,定义过滤器 :1.定义一个类,实现 Filter 接口,并重写其所有方法。第2步,配置过滤器:Filter类上加 WebFilter 注解,配置拦截资源的路径&#…

 过滤器Filter

过滤器的基本使用操作:

  • 第1步,定义过滤器 :1.定义一个类,实现 Filter 接口,并重写其所有方法。

  • 第2步,配置过滤器:Filter类上加 @WebFilter 注解,配置拦截资源的路径(指定属性urlPatterns)。引导类上加 @ServletComponentScan 开启Servlet组件支持。

    拦截路径:

    拦截路径urlPatterns值含义
    拦截具体路径/login只有访问 /login 路径时,才会被拦截
    目录拦截/emps/*访问/emps下的所有资源,都会被拦截
    拦截所有/*访问所有资源,都会被拦截

org.example.filter 包下创建TokenFilter:

package org.example.filter;import jakarta.servlet.*;
import jakarta.servlet.annotation.WebFilter;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.example.utils.JwtUtils;import java.io.IOException;@Slf4j
@WebFilter(urlPatterns = "/*")
public class TokenFilter implements Filter {@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) servletRequest;HttpServletResponse response = (HttpServletResponse) servletResponse;//1、获取请求路径String requestURI = request.getRequestURI();//2、判断是否是登录请求(login)放行if(requestURI.contains("/login")){log.info("登录请求,放行");filterChain.doFilter(request,response);return;}//3、获取请求头tokenString token = request.getHeader("token");//4、判断token是否存在,如果不存在说明没有用户登录,返回错误信息(响应401状态码)if(token == null || token.isEmpty()){log.info("令牌为空,响应401");response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);return;}//5、如果token存在,校验令牌,如果校验失败,返回错误信息(响应401状态码)try{JwtUtils.parseJWT(token);}catch (Exception e){log.info("令牌非法,响应401");response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);return;}//6、校验通过,放行log.info("令牌合法,放行");filterChain.doFilter(request,response);}
}

过滤器链上过滤器的执行顺序:注解配置的Filter,优先级是按照过滤器类名(字符串)的自然排序。 比如:

  • AbcFilter

  • DemoFilter

这两个过滤器来说,AbcFilter 会先执行,DemoFilter会后执行。

http://www.dtcms.com/a/454990.html

相关文章:

  • 设计师找素材的网站自适应网站dedecms代码
  • 示范校建设验收网站做网站登录
  • Verilog和FPGA的自学笔记1——FPGA
  • 长城集团建设有限公司网站临海房产中介网站如何制作
  • 前端-APIs-day1
  • 读凸优化文章1
  • 网站开发处理大量用户请求网站用什么软件seo排名优化
  • 西安摩高网站建设wordpress插件制作
  • 如何推广自己的外贸网站手机网站模板 html5 下载工具
  • 网站优化要用什么软件百度关键词seo
  • 房屋中介网站模板公众号软文范例100
  • 三亚市建设局官方网站深圳平面设计公司排名榜
  • 网站开发广告宣传要多少钱
  • 加强网站内容保密建设抖音里做我女朋友网站
  • 公司建设电子商务网站的目的公司官网制作需要多少钱一个
  • 益阳网站建设企业山东网站推广营销设计
  • 甘肃建设投资集团控股有限网站简单网站建设视频教程
  • 网站建设文编响应式网站设计的优点
  • 三网合一网站优秀的设计网站有哪些
  • 定制版网站建设详细报价专业的网站建设公司
  • 做中东市场哪个网站合适网站app制作
  • 网站建设钅金手指排名十五wordpress 图片等比缩放
  • 做网赌网站扫二维码直接进入网站 怎么做
  • 网站必须要备案吗html5手机网站特效
  • 促销推广方式有哪些漳州网站优化
  • 网站建设的具体布局建设网站需要什么步骤
  • 淘宝客网站推广工具上海国际进出口贸易博览会
  • 哪个网站是专门做兼职的两个域名指向同一个网站怎么做
  • 1688 商品详情接口深度开发:从供应链数据解析到批量采购决策支持
  • C++递归函数