zoukankan      html  css  js  c++  java
  • SpringBoot中注册Servlet三大组件

    SpringBoot中默认内置了Servlet容器,Tomcat。SpringBoot默认是以jar包的方式启动内置的Servlet容器,没有web.xml文件。所以只能通过自定义servlet配置。使用ServletRegistrationBean、FilterRegistrationBean、ServletListenerRegistrationBean来实现servle的三大组件。

    CustomServletConfig

    @Configuration
    public class CustomServletConfig {
        //注册servlet
        @Bean
        public ServletRegistrationBean myServlet()
        {
            ServletRegistrationBean<Myservlet> registrationBean = new ServletRegistrationBean<>();
            registrationBean.setServlet(new Myservlet());
            registrationBean.addUrlMappings("/myServlet");
            return  registrationBean;
    
        }
        //注册Filter
    
        @Bean
        public FilterRegistrationBean myFilter()
        {
            System.out.println("CustomServletConfig.myFilter");
            FilterRegistrationBean<Filter> registrationBean = new FilterRegistrationBean<>();
            registrationBean.setFilter(new MyFilter());
            registrationBean.addUrlPatterns("/showLogin","/test1");
            return registrationBean;
        }
    
        @Bean
        public ServletListenerRegistrationBean myListener()
        {
            ServletListenerRegistrationBean<MyListener> servletListenerRegistrationBean = new ServletListenerRegistrationBean<>();
    
            servletListenerRegistrationBean.setListener(new MyListener());
            return  servletListenerRegistrationBean;
        }
    }
    
    

    Myservlet

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

    MyListener

    public class MyListener  implements ServletContextListener {
        @Override
        public void contextInitialized(ServletContextEvent sce) {
    
            System.out.println("MyListener.contextInitialized");
        }
    
        @Override
        public void contextDestroyed(ServletContextEvent sce) {
    
            System.out.println("MyListener.contextDestroyed");
        }
    }
    
    

    MyFilter

    public class MyFilter implements Filter {
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
    
        }
    
        @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() {
    
        }
    }
    
    

    MyListener

    public class MyListener  implements ServletContextListener {
        @Override
        public void contextInitialized(ServletContextEvent sce) {
    
            System.out.println("MyListener.contextInitialized");
        }
    
        @Override
        public void contextDestroyed(ServletContextEvent sce) {
    
            System.out.println("MyListener.contextDestroyed");
        }
    }
    
    
  • 相关阅读:
    软工试水日报-纯js原生简易动态表格 3/15
    软工试水日报-Echarts动态柱形图 3/14
    大二下学期第一次结对作业(第一阶段)
    大二下学期之第一次结对作业(第一阶段)
    大二下每周总结
    大二下学期之第一次结对作业(第一阶段)
    大二下学期第一次结对作业(第一阶段)
    大二下学期第一次结对作业(第一阶段)
    大二下学期每日总结之第一次个人作业(第三阶段)
    大二下学期每日总结之第一次个人作业(第三阶段)
  • 原文地址:https://www.cnblogs.com/lilihai/p/10177660.html
Copyright © 2011-2022 走看看