设置嵌入式servlet容器默认情况下,SpringBoot使用嵌入式servlet容器(Tomcat )
1 .如何自定义servlet相关配置:
server.port=8080 server.context-path=/web #通用servlet容器设置# server.xxx# Tomcat设置server.Tomcat.accept-count=
@ beanpublicwebserverfactorycustomizerconfigurablewebserverfactorywebserverfactorycustomizer () { returnnewebserverfactorycustomizerconfigurablewebserverfactory (} { @ overridepublicvoidcustomize (可配置webserverfactory ) ; } 3.注册servlet、文件和编写器的组件
创建相关组件
publicclassmyservletextendshttpservlet { @ overrideprotectedvoiddoget (httpservletrequestreq,HttpServletResponse resp ) thro } @ overrideprotectedvoiddopost (httpservletrequestreq,HttpServletResponse resp ) throws ServletException, io exception { sup ption } } publicclassmyfilterimplementsfilter { @ overridepublicvoidinit (filterconfigfilterconfig ) throws sster @ overridepublicvoiddofilter (servletrequestservletrequest,ServletResponse servletResponse,过滤器通道过滤器通道) throws } @ overridepublicvoiddestroy (} publicclassmylistenerimplementsservletcontextlistener ) @overridepublicvoidcontextining } @ overridepublicvoidcontextdestroyed (servletcontexteventsce ) { System.out.println (“服务器关闭”); }} SpringBoot注册:
@ configurationpublicclassmyserverconfig (/注册三大组件@ beanpublicservletregistrationbeanmyservlet ) ) servletregistrationbblet servletregistrationbean.seturlmappings (arrays.as list ('/my servlet ' ) ); servletregistrationbean.setloadonstartup (1; return servletRegistrationBean; } @ beanpublicfilterregistrationbeanmyfilter ((filterregistrationbean beanfilterregistrationbean//) //拦截路径filterregistrationbean.set URL patterns (arrays.as list ) (/myservlet ) ); return filterRegistrationBean; } @ beanpublicservletlistenerregistrationbeanservletlistenerregistrationbean ({ servletlistenerrregistrationbean (} ) { servletlistenerregistrationbeanerservlistener servletlistenerregistrationbean.set listener (newmylistener ) ); returnservletlistenerregistrationbean; }外部servlet (Tomcat )从属cygroupidorg.spring framework.boot/groupidartifactidspring-boot-starter-Tomcat/AMC aaac
publicclassservletinitializerextendsspringbootservletinitializer { @ overrideprotectedspringapplicationbuilderconfigure (spre builder ) (spri应用程序(return application.sources ) springboot启动系统. class; }