配置类------

@Configuration
public class MyServletConfig {
    @Bean
    public ServletRegistrationBean helloServlet(){    
        // 注册自己自定义组件
        ServletRegistrationBean<HelloServlet> bean = new ServletRegistrationBean<>(new HelloServlet(), "/hello");  //
        //设置servlet组件参数配置,如下面加载顺序
        bean.setLoadOnStartup(1);
        return bean;
    }
}
/**
 * 自定义Servlet组件   -----------          自己理解为 对一些特殊得请求进行拦截 并做一些操作 拦截get post
 */
public class HelloServlet extends HttpServlet {
    //快捷键 ctrl+o
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            this.doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("helloServlet seccess...");
    }
}


Controller层 

@ResponseBody
@GetMapping("/hello") 
public String index(){
    return "312312312...";
}

Filter组件
//主要用于 初始化项目, 过滤请求,

//加入配置类中
@Bean
public FilterRegistrationBean myFilter(){
    FilterRegistrationBean<Filter> bean = new FilterRegistrationBean<>();
    //指定过滤器 new MyFilter()
    bean.setFilter(new MyFilter());
    //Arrays.asList("/hello")  拦截的路径
    bean.setUrlPatterns(Arrays.asList("/hello"));//指定拦截
    return bean;
}


//Filter
public class MyFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("filter初始化");
    }

    @Override
    public void destroy() {
        System.out.println("filter销毁");
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("MyFilter 过滤完成");
        filterChain.doFilter(servletRequest, servletResponse);
    }
}

Listener监控web某些些对象、信息的创建、销毁、增加、修改、删除等动作的发生,然后做出相应的响应处理。服务对象状态变化时,服务器自动调用监听器对象中的方法,常用于统计在线人数和在线用户等。
public class MyListener implements ServletContextListener {
    //项目启动 加载
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println(" SpringBoot.Servlet启用启动 ");
    }
    //项目关闭 加载
    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println(" SpringBoot.Servlet应用销毁");
    }
}