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

网站开发 认证推蛙网络

网站开发 认证,推蛙网络,app一键生成平台免费软件,哪家外贸网站做的好其实所有的Filter都是一样的原理 大致流程: 创建一个自定义Filter, 用于拦截所有异常此Filter正常进行后续Filter调用当调用后续Filter时, 如果发生异常, 则委托给HandlerExceptionResolver进行后续处理即可 以sa-token的SaServletFilter为例 首先注册SaToken的过滤器 pac…

其实所有的Filter都是一样的原理

大致流程:

  1. 创建一个自定义Filter, 用于拦截所有异常
  2. 此Filter正常进行后续Filter调用
  3. 当调用后续Filter时, 如果发生异常, 则委托给HandlerExceptionResolver进行后续处理即可

以sa-token的SaServletFilter为例

首先注册SaToken的过滤器

package kim.nzxy.demo.config;import cn.dev33.satoken.filter.SaServletFilter;
import cn.dev33.satoken.stp.StpUtil;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class SaTokenConfig {/*** 注册 [Sa-Token全局过滤器]*/@Beanpublic SaServletFilter getSaServletFilter() {return new SaServletFilter().addInclude("/**").addExclude("/favicon.ico", "/hello.html").setAuth(obj -> StpUtil.checkLogin());}
}

其次, 自定义一个自己的过滤器, 优先级设为最高:

package kim.nzxy.demo.filter;import jakarta.servlet.FilterChain;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
import org.springframework.web.servlet.HandlerExceptionResolver;@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class ExceptionHandlerFilter extends OncePerRequestFilter {private HandlerExceptionResolver resolver;@Autowiredpublic void setResolver(@Qualifier("handlerExceptionResolver") HandlerExceptionResolver resolver) {this.resolver = resolver;}@Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) {try {filterChain.doFilter(request, response);} catch (Exception e) {resolver.resolveException(request, response, null, e);}}
}

最后, 自定义一个自己的异常拦截器, 这里就直接返回文字格式的异常Message了:

package kim.nzxy.demo.ex;import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;/*** @author ly-chn* @since 2024/1/17 9:54*/
@RestControllerAdvice
public class AppExceptionHandler {@ExceptionHandler(Exception.class)public String handler(Exception e) {return "Some error happened: " + e.getMessage();}
}

效果如图所示:

image-20240117114112467

完整demo见github

http://www.yidumall.com/news/61234.html

相关文章:

  • 百度怎么搜索到自己的网站免费发帖推广平台
  • 网站建设 后台空间容量上海全网推广
  • 兖州住房与城乡建设局网站seo实战技巧100例
  • wordpress 权限修改密码搜索引擎优化的五个方面
  • 广州网站建设推广公司哪家好网站发布与推广怎么写
  • 深圳在哪些网站上面做推广互动营销是什么
  • 网站管理助手未找到iis如何创建一个网页
  • 网页网站怎么做的吗企业网站怎么做
  • 网站制作 广州网站制作流程
  • 给网站做镜像app开发需要多少钱
  • 政府网站建设安全管理办法深圳网络营销推广招聘网
  • 专业b2c电商网站制作百度竞价代运营公司
  • shopex网站备份百度网页制作
  • 域名备案期间网站餐饮营销策划与运营
  • 湘潭平台公司岳阳seo
  • 网站建设的实施方式企业互联网推广
  • 深圳创业补贴是真的吗seo快速排名上首页
  • 沧州好的做网站的公司数据分析软件工具有哪些
  • 网站模版参考加入网络营销公司
  • it运维是做什么的厦门seo百度快照优化
  • 去年做啥网站能致富整合营销传播方案
  • 西凤酒网站建设的目标手机推广app
  • 一个网站服务器多少钱seo需要付费吗
  • wordpress网站上传百度账号购买1元40个
  • 君和网站建设荆州seo推广
  • 内容营销方案百度seo关键词优化排名
  • 网站建设项目的网络图windows优化大师官方下载
  • web可以做3d网站吗网站推广优化排名教程
  • wordpress+修改邮箱设置北京网站优化对策
  • 网站内容页显示不出来百度关键词如何优化