zoukankan      html  css  js  c++  java
  • 18. Spring Boot 、注册Servlet三大组件Servlet、Filter、Listener

    由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文件

    public class MyServlet extends HttpServlet {
        
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException ,IOException {
              resp.getWriter().println("<h1>hello world</h1>");
        };
        
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            this.doPost(req, resp);
        }
    }
    public class MyFilter implements Filter{
    
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
                throws IOException, ServletException {
            System.out.println("================Hello world Filter");
            chain.doFilter(request, response);
            
        }
    }
    public class MyListener implements ServletContextListener {
        @Override
        public void contextInitialized(ServletContextEvent sce) {
            ServletContextListener.super.contextInitialized(sce);
            System.out.println("-------------MyListener inited !");
        }
        
        
        @Override
        public void contextDestroyed(ServletContextEvent sce) {
            ServletContextListener.super.contextDestroyed(sce);
            System.out.println("----------------MyListener Destroy !");
        }
        
    }
    @Configuration
    public class MyMvcConfig implements WebMvcConfigurer {
        //注册Servlet
        @Bean
        public ServletRegistrationBean<Servlet> myServlet(){
            return new ServletRegistrationBean<>(new MyServlet(),"/myServlet");
        }
        
        //注册Filter
        @Bean
        public FilterRegistrationBean<Filter> myFilter(){
            FilterRegistrationBean<Filter> filter = new FilterRegistrationBean<>();
            filter.setFilter(new MyFilter());
            filter.addUrlPatterns("/myServlet");
            
            FilterRegistrationBean<Filter> filter2 = new FilterRegistrationBean<>(new MyFilter(), myServlet());
            return filter2;
        }
    //注册Listener @Bean
    public ServletListenerRegistrationBean<EventListener> myListener(){ ServletListenerRegistrationBean<EventListener> listener = new ServletListenerRegistrationBean<EventListener>(new MyListener()); return listener; } }
  • 相关阅读:
    escape
    洛谷 P2158 【仪仗队】
    GIT学习----第五节:管理修改
    前端Webpack
    20 行 JS 代码,实现复制到剪贴板功能
    mysql表分区和分表的实现方式几种以及区别,什么时候用
    微信小程序----解析px、rpx、rem、vw实现页面布局
    微信小程序----相对路径图片不显示
    微信小程序----评价系统中的评星
    微信小程序----session_key失效导致的后台错误wxsp login api aesCbcUtil error info: pad block corrupted
  • 原文地址:https://www.cnblogs.com/guchunchao/p/10025659.html
Copyright © 2011-2022 走看看