【Spring Boot】web应用开发-Servlets, Filters, listeners
2017-10-03 16:28
633 查看
Web开发使用 Controller 基本上可以完成大部分需求,但是我们还可能会用到 Servlet、 Filter、Listener等等。
在spring boot中的三种实现方式
方法一:通过注册ServletRegistrationBean、 FilterRegistrationBean 和 ServletListenerRegistrationBean 获得控制
?
注册bean
?
方法二:通过实现 ServletContextInitializer 接口直接注册
?
方法三:在 SpringBootApplication 上使用@ServletComponentScan 注解后,直接通过@WebServlet、@WebFilter、@WebListener 注解自动注册
在spring boot中的三种实现方式
方法一:通过注册ServletRegistrationBean、 FilterRegistrationBean 和 ServletListenerRegistrationBean 获得控制
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | /** *自定义servlet * * @author wujing */ public class CustomServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("servlet get method"); doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("servlet post method"); response.getWriter().write("hello world"); } } /** *自定义filter * * @author wujing */ public class CustomFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("init filter"); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("do filter"); chain.doFilter(request, response); } @Override public void destroy() { System.out.println("destroy filter"); } } /** *自定义listener * * @author wujing */ public class CustomListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { System.out.println("contextInitialized"); } @Override public void contextDestroyed(ServletContextEvent sce) { System.out.println("contextDestroyed"); } } |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | @Bean public ServletRegistrationBean servletRegistrationBean() { return new ServletRegistrationBean(new CustomServlet(), "/roncoo"); } @Bean public FilterRegistrationBean filterRegistrationBean() { return new FilterRegistrationBean(new CustomFilter(), servletRegistrationBean()); } @Bean public ServletListenerRegistrationBean servletListenerRegistrationBean() { return new ServletListenerRegistrationBean(new CustomListener()); } |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | implementsServletContextInitializer { @Override publicvoidonStartup(ServletContextservletContext)throwsServletException { servletContext.addServlet("customServlet",newCustomServlet()).addMapping("/roncoo"); servletContext.addFilter("customFilter",newCustomFilter()) .addMappingForServletNames(EnumSet.of(DispatcherType.REQUEST),true,"customServlet"); servletContext.addListener(newCustomListener()); } |
相关文章推荐
- (十)SpringBoot之web 应用开发-Servlets, Filters, listeners
- (十)SpringBoot之web 应用开发-Servlets, Filters, listeners
- springBoot(8):web开发-Servlets, Filters, listeners
- Spring Boot基础教程10-web应用开发-Servlets, Filters, listeners
- Spring Boot干货系列:(五)开发Web应用JSP篇
- spring boot之Servlets, Filters,listeners
- Spring Boot - Web 应用开发 - CORS
- Spring Boot基础教程9-web应用开发-错误处理
- Spring Boot - Web 应用开发 - 文件上传
- React.js 集成 Kotlin Spring Boot 开发 Web 应用实例详解
- Spring Boot基础教程8-web应用开发-模板引擎jsp
- Spring Boot: 开发web 应用 - 01 创建项目
- Spring Boot干货系列:(五)开发Web应用之JSP篇
- Spring Boot 教程(四) -- 开发 Web 应用
- Spring Boot干货系列:(四)开发Web应用之Thymeleaf篇
- Spring Boot - Web 应用开发 - 错误处理
- SpringBoot | 第十七章:web应用开发之文件上传
- SpringBoot | 第十七章:web应用开发之文件上传
- Spring Boot: 开发web 应用 - 04 (Optional) Web MVC - Look Under The Hood
- Spring Boot: 开发web 应用 - 03 Spring Framework 回顾