您现在的位置是:首页 > 编程 > 

【Spring Boot】01

2025-07-23 20:38:50
【Spring Boot】01 【Spring Boot】01-整合 Servlet 、Filter 和 Listener一、概述一般情况下,使用 Spring 、Spring MVC 这些框架之后,基本上就告别了 Servlet 、 Filter 以及 Listenter 了,但是有时在整合一些第三方框架时需要使用到这些。Spring Boot 对于整合这些基本的 Web 组件也提供了很好的

【Spring Boot】01

【Spring Boot】01-整合 Servlet 、Filter 和 Listener一、概述

一般情况下,使用 Spring 、Spring MVC 这些框架之后,基本上就告别了 Servlet 、 Filter 以及 Listenter 了,但是有时在整合一些第三方框架时需要使用到这些。Spring Boot 对于整合这些基本的 Web 组件也提供了很好的支持。

二、代码演示

1、Servlet

代码语言:javascript代码运行次数:0运行复制
package com.zibo.api.web;

import slf4j.Slf4j;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRespe;
import java.io.IOException;

@WebServlet(urlPatterns = "/hi")
@Slf4j
public class MyServlet extends HttpServlet {

    @Override
    public void init() throws ServletException {
        log.warn("MyServlet => 初始化成功");
        super.init();
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletRespe resp) throws ServletException, IOException {
        log.warn("MyServlet => doGet");
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletRespe resp) throws ServletException, IOException {
        log.warn("MyServlet => doPost");
        super.doPost(req, resp);
    }
}

2、Filter

代码语言:javascript代码运行次数:0运行复制
package com.zibo.api.web;

import slf4j.Slf4j;

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

@WebFilter("/*")
@Slf4j
public class MyFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        log.warn("MyFilter ==> init");
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletRespe servletRespe, FilterChain filterChain) throws IOException, ServletException {
        log.warn("MyFilter ==> doFilter");
    }

    @Override
    public void destroy() {
        log.warn("MyFilter ==> destroy");
    }
}

、Listener

代码语言:javascript代码运行次数:0运行复制
package com.zibo.api.web;

import slf4j.Slf4j;

import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.annotation.WebListener;

@WebListener
@Slf4j
public class MyListener implements ServletRequestListener {
    @Override
    public void requestDestroyed(ServletRequestEvent sre) {
        log.warn("MyListener ==> requestDestroyed");
    }

    @Override
    public void requestInitialized(ServletRequestEvent sre) {
        log.warn("MyListener ==> requestInitialized");
    }
}

4、启动类

代码语言:javascript代码运行次数:0运行复制
package com.zibo.api;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@SpringBootApplication
@ServletComponentScan // 加上此注解以使得上面三个被扫描到
public class ApiApplication {
    
    public static void main(String[] args) {
        SpringApplication.run(, args);
    }

}
三、运行结果

在浏览器随便访问一个接口:http://localhost:8001/hi(此接口需要自己写)

四、遗留问题

MyServlet 中 init() 执行了,但是 doGet() 和 doPost() 未执行!了很多方案,还是没解决!

五、补充

1、和过滤器

参考文章

Spring Boot实战:与过滤器

.html

spring boot 过滤器、的区别与使用

.html

实战Spring Boot 2.0之过滤器和

Springboot 过滤器和详解及使用场景

.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent 删除servletspringbootfilterlistener

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1198673.html

相关标签:无
上传时间: 2025-07-23 12:26:53

上一篇:【Spring Boot】032

下一篇:【Spring Boot】030

留言与评论(共有 12 条评论)
本站网友 尖叫饮料
16分钟前 发表
本站网友 易方达积极成长基金
10分钟前 发表
ServletException { log.warn("MyFilter ==> doFilter"); } @Override public void destroy() { log.warn("MyFilter ==> destroy"); } }
本站网友 荷兰式拍卖
30分钟前 发表
但是有时在整合一些第三方框架时需要使用到这些
本站网友 纸上谈兵终觉浅
15分钟前 发表
如有侵权请联系 cloudcommunity@tencent 删除前往查看servletspringbootfilterlistener
本站网友 高德汇购物中心
5分钟前 发表
基本上就告别了 Servlet
本站网友 最有效的去黑头产品
16分钟前 发表
但是有时在整合一些第三方框架时需要使用到这些
本站网友 中国有哪些核电站
8分钟前 发表
args); } }三
本站网友 卡路里换算
7分钟前 发表
遗留问题MyServlet 中 init() 执行了
本站网友 x战警黑凤凰
11分钟前 发表
ServletException { log.warn("MyFilter ==> doFilter"); } @Override public void destroy() { log.warn("MyFilter ==> destroy"); } }
本站网友 长春房地网
5分钟前 发表
resp); } }2
本站网友 阻生牙拔除术
7分钟前 发表
【Spring Boot】01 【Spring Boot】01-整合 Servlet