@FilterRegistration和@ServletRegistration注解

前言

@FilterRegistration@ServletRegistration注解是Springboot3.5.x版本之后提供的注解,使用 @ServletRegistration 注册 Servlet,使用 @FilterRegistration注册Filter

注解使用

@FilterRegistration使用

创建一个Springboot3.5.x版本新属性,然后

java 复制代码
@Slf4j
public class TestFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;

        log.info("TestFilter:{{}}", request.getRequestURI());

        //执行
        filterChain.doFilter(servletRequest, servletResponse);
    }

    @Override
    public void destroy() {

    }
}
less 复制代码
@Configuration(proxyBeanMethods = false)
public class FilterConfiguration {

    @Bean
    @FilterRegistration(name = "encoding-filter", urlPatterns = "/*", order = 0)
    public TestFilter encodingFilter() {
        return new TestFilter();
    }
    

}

输出结果为

@ServletRegistration使用

scala 复制代码
public class MyServlet extends HttpServlet {
 
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getOutputStream().println("hello world");
    }
}
less 复制代码
@Configuration(proxyBeanMethods = false)
public class FilterConfiguration {
    


    @Bean
    @ServletRegistration(name = "encoding-filter1", order = 0)
    public MyServlet myServlet() {
        return new MyServlet();
    }

}

总结

Springboot3.5.x版本之后,更新了许多优秀属性,可以用用看

相关推荐
IT_陈寒24 分钟前
Vite的public文件夹放静态资源?这坑我替你踩了
前端·人工智能·后端
浮游本尊25 分钟前
合同同步逻辑
后端
子兮曰44 分钟前
别让爬虫白嫖你的导航站了:纯免费,手把手实现加密字体防爬
前端·javascript·后端
阿苟1 小时前
JAVA重点难点
后端
uzong1 小时前
TIOBE 指数:2026 年编程语言排行榜
后端
小村儿1 小时前
连载06 - Hooks 源码深度解析:Claude Code 的确定性自动化体系
前端·后端·ai编程
用户8356290780511 小时前
使用 Python 设置 Excel 数据验证
后端·python
yoyo_zzm1 小时前
Laravel6.x新特性全解析
java·spring boot·后端
xiaobaoyu2 小时前
ssm
后端
Nick_zcy2 小时前
小说在线阅读网站和小说管理系统 · 功能全解析
java·后端·python·springboot·ruoyi