监察器

Springboot入门之四进行自定义

发布时间:2022/11/2 12:45:32   
北京哪治疗白癜风 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/nxbdf/

SpringBoot默认以jar包的方式启动内部自定义的Servlet组件,没有web.xml文件,这种情况下我们不禁会考虑,那之前使用SSM框架时的自定义Servlet、过滤器及监听器要如何配置呢?今天就来解答这个问题:

前期准备工作:

创建SpringBoot工程,不懂的可以查阅我之前得文档使用IDEA创建Springboot工程的两种方式,创建CustomerServletConfigurer配置类如下,用于进行配置,名字可以自取

ConfigurationpublicclassCustomerServletConfigurer{}

自定义Servlet配置

创建MyServlet类实现HttpServlet接口,如下

publicclassMyServletextendsHttpServlet{protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{System.out.println(MyServlet.doGet);doPost(req,resp);}protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{System.out.println(MyServlet.doPost);}}

在CustomerServletConfigurer配置类中配置ServletRegistrationBean的返回类,如下

Bean//配置自定义的ServletpublicServletRegistrationBeanservletRegistrationBean(){ServletRegistrationBeanservletRegistrationBean=newServletRegistrationBean();servletRegistrationBean.setServlet(newMyServlet());servletRegistrationBean.addUrlMappings(/myServlet);returnservletRegistrationBean;}

通过该配置可实现在客户端访问/myServlet相关请求时使用自定义的MyServlet进行处理

自定义Filter配置

创建MyFilter类,实现Filter接口,实现相关方法,如下

publicclassMyFilterimplementsFilter{publicvoidinit(FilterConfigfilterConfig)throwsServletException{System.out.println(MyFilter.init);}publicvoiddoFilter(ServletRequestservletRequest,ServletResponseservletResponse,FilterChainfilterChain)throwsIOException,ServletException{System.out.println(MyFilter.doFilter);}publicvoiddestroy(){System.out.println(MyFilter.destroy);}}

在CustomerServletConfigurer配置类中配置FilterRegistrationBean的返回类,如下

Bean//配置自定义的FilterpublicFilterRegistrationBeanfilterRegistrationBean(){FilterRegistrationBeanfilterRegistrationBean=newFilterRegistrationBean();filterRegistrationBean.setFilter(newMyFilter());filterRegistrationBean.addUrlPatterns(/myFilter);returnfilterRegistrationBean;}

通过该配置可实现在客户端访问/myFilter时先使用过滤器过滤

自定义Listener配置

创建MyListener类,实现ServletContextListener接口,实现相关方法,如下

publicclassMyListenerimplementsServletContextListener{publicvoidcontextInitialized(ServletContextEventsce){System.out.println(MyListener.contextInitialized);}publicvoidcontextDestroyed(ServletContextEventsce){System.out.println(MyListener.contextDestroyed);}}

在CustomerServletConfigurer配置类中配置FilterRegistrationBean的返回类,如下

Bean//配置自定义的ListenerpublicServletListenerRegistrationBeanservletListenerRegistrationBean(){ServletListenerRegistrationBeanservletListenerRegistrationBean=newServletListenerRegistrationBean();servletListenerRegistrationBean.setListener(newMyListener());returnservletListenerRegistrationBean;}

通过该配置可实现Servlet在创建及销毁时执行相应方法

江山父老能容我,不使人间造孽钱,本人小白,如有问题,欢迎指教



转载请注明:http://www.aideyishus.com/lkzp/2230.html
------分隔线----------------------------