整合Servlet、Filter、Listener(SpringBoot)

一般情況下, 使用Spring, SpringMVC 這些框架之後, 基本上就告別Servlet、Filter、Listener了, 但是有時候整合一些第三方框架時, 可能還是不得不使用Servlet、Filter、Listener。

  • 整合Servlet

使用@WebServlet("/my")註解

@WebServlet("/my")
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
        System.out.println("MyServlet>>>doGet");
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
        System.out.println("MyServlet>>>doPost");
    }

}
  • 整合Filter
@WebFilter("/*")
public class MyFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("MyFilter>>>init");
    }

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

    @Override
    public void destroy() {
        System.out.println("MyFilter>>>destroy");
    }
}
  • 整合Litener
  • @WebListener
    public class MyListener implements ServletRequestListener {
        @Override
        public void requestDestroyed(ServletRequestEvent sre) {
            System.out.println("MyListener>>>requestDestroyed");
        }
    
        @Override
        public void requestInitialized(ServletRequestEvent sre) {
            System.out.println("MyListener>>>requestInitialized");
        }
    }

    最關鍵的一步是啓動這些配置, 需要告訴程序, 

    @SpringBootApplication
    //添加註解, 進行配置掃描
    @ServletComponentScan
    public class App {
    
        public static void main(String[] args) {
            SpringApplication.run(App.class, args);
        }
    
    }

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章