SpringBoot-Web应用

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/qq_15764943/article/details/85246495

SpringBoot-过滤器、Servlet、监听器

配置方式

过滤器

(1)自定义过滤器TestFilter

public class TestFilter implements Filter {
	@Override
	public void init(FilterConfig filterConfig) throws ServletException {
	}
	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {
		chain.doFilter(request, response);
	}
	@Override
	public void destroy() {
	}
}

(2)配置

@Bean  
public FilterRegistrationBean testFilterRegistration() {  
    FilterRegistrationBean registration = new FilterRegistrationBean();  
    registration.setFilter(new TestFilter());  
    registration.addUrlPatterns(”/*”);  
    registration.addInitParameter(”paramName”, “paramValue”);  
    registration.setName(”testFilter”);  
    registration.setOrder(1);  
    return registration;  
} 

Servlet

(1)自定义

public class TestServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	this.doPost(req, resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //...
    }
}

(2)配置

 @Bean
 public ServletRegistrationBean test2ServletRegistrationBean(){
      ServletRegistrationBean registration = new ServletRegistrationBean(new TestServlet());
      registration.setEnabled(true);
      registration.addUrlMappings("/servlet/test");
      return registration;
  }

监听器

(1)自定义

public class TestListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent sce) {
    }
    @Override
    public void contextDestroyed(ServletContextEvent sce) {
    }
}

(2)配置

  @Bean
  public ServletListenerRegistrationBean servletListenerRegistrationBean(){
    ServletListenerRegistrationBean servletListenerRegistrationBean = new ServletListenerRegistrationBean();
    servletListenerRegistrationBean.setListener(new TestListener());
    return servletListenerRegistrationBean;
  }

注解方式

入口类添加注解扫描:@ServletComponentScan

过滤器

  @WebFilter(urlPatterns = "/*", filterName = "testFilter")
  public class TestFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
      filterChain.doFilter(servletRequest,servletResponse);
    }
    @Override
    public void destroy() {
    }
  }

监听器

  @WebListener
  public class TestListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
    } 
    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
    }
  }

Servlet

  @WebServlet(name = "testServlet",urlPatterns = "/test")
  public class TestServlet extends HttpServlet {
    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
      this.doGet(req, resp);
    }
  }

猜你喜欢

转载自blog.csdn.net/qq_15764943/article/details/85246495