由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文件。 注册三大组件,class MyServlet()/class MyListener/ class MyFilter 需要自己亲自编写!!
1. class MyServlet
1package com.szs.springboot04.servlet; 2 3import javax.servlet.ServletException; 4import javax.servlet.http.HttpServlet; 5import javax.servlet.http.HttpServletRequest; 6import javax.servlet.http.HttpServletResponse; 7import java.io.IOException; 8 9public class MyServlet extends HttpServlet { 10 11 @Override 12 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 13 doPost(req, resp); 14 } 15 16 @Override 17 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 18 resp.getWriter().print("Hello MyServlet!!!"); 19 } 20}
ServletRegistrationBean 注册
1@Configuration 2public class MyServerConfig { 3 /** 4 * 注册三大组件 5 */ 6 @Bean 7 public ServletRegistrationBean myServlet(){ 8 ServletRegistrationBean registrationBean = 9 new ServletRegistrationBean(new MyServlet(),"/myServlet"); 10 registrationBean.setLoadOnStartup(1); 11 return registrationBean; 12 }
效果展示

2.class MyFilter implements Filter
1import javax.servlet.*; 2import java.io.IOException; 3 4public class MyFilter implements Filter { 5 public MyFilter() { 6 super(); 7 } 8 9 @Override 10 public void init(FilterConfig filterConfig) throws ServletException { 11 System.out.println("myFilter正在初始化..."); 12 } 13 14 @Override 15 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { 16 System.out.println("MyFilter 正在Process..."); 17 filterChain.doFilter(servletRequest, servletResponse); 18 } 19 20 @Override 21 public void destroy() { 22 23 } 24}
FilterRegistrationBean 注册
1@Configuration 2public class MyServerConfig { 3 @Bean 4 public FilterRegistrationBean myFilter(){ 5 FilterRegistrationBean registrationBean = new FilterRegistrationBean(); 6 registrationBean.setFilter(new MyFilter()); 7 registrationBean.setUrlPatterns(Arrays.asList("/hello","/myServlet")); 8 return registrationBean; 9 }

3.class MyListener implements ServletContextListener
1public class MyListener implements ServletContextListener { 2 @Override 3 public void contextInitialized(ServletContextEvent servletContextEvent) { 4 System.out.println("contextInitialized ...web应用启动"); 5 } 6 7 @Override 8 public void contextDestroyed(ServletContextEvent servletContextEvent) { 9 System.out.println("contextDestroyed... web项目已经销毁"); 10 } 11}
ServletListenerRegistrationBean myListener()
1@Configuration 2public class MyServerConfig { 3@Bean 4public ServletListenerRegistrationBean myListener(){ 5 return new ServletListenerRegistrationBean<>(new MyListener()); 6 } 7
