zoukankan      html  css  js  c++  java
  • SpringBoot-web综合

    1. 自定义Filter
      public class MyFilter implements Filter {
      
          @Override
          public void init(FilterConfig filterConfig) throws ServletException {
              System.out.println("filter init");
          }
      
          @Override
          public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
              HttpServletRequest request = (HttpServletRequest) servletRequest;
              String uri = request.getRequestURI();
              System.out.println("filter uri : " + uri);
              filterChain.doFilter(servletRequest,servletResponse);
          }
      
          @Override
          public void destroy() {
              System.out.println("filter destroy");
          }
      }
      
    2. 自定义Listener
      /**
       * 描述:
       * 1.ServletContextListener -- 监听servletContext对象的创建以及销毁
       * 2.HttpSessionListener  -- 监听session对象的创建以及销毁
       * 3.ServletRequestListener -- 监听request对象的创建以及销毁
       * 4.ServletContextAttributeListener  -- 监听servletContext对象中属性的改变
       * 5.HttpSessionAttributeListener  --监听session对象中属性的改变
       * 6.ServletRequestAttributeListener  --监听request对象中属性的改变
       * @outhor ios
       * @create 2019-01-03 3:00 PM
       */
      public class MyListener implements ServletRequestListener {
      
          @Override
          public void requestDestroyed(ServletRequestEvent sre) {
              System.out.println("---------------------------->请求销毁");
          }
      
          @Override
          public void requestInitialized(ServletRequestEvent sre) {
              System.out.println("---------------------------->请求创建");
          }
      }
      
    3. 自定义interceptor
      public class MyInterceptor implements HandlerInterceptor {
      
          @Override
          public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
              System.out.println("拦截器 -- 请求处理之前");
              return false;
          }
      
          @Override
          public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
              System.out.println("拦截器 -- 请求处理之后,视图渲染之前");
          }
      
          @Override
          public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
              System.out.println("拦截器 -- 请求处理之后,视图渲染之后");
          }
      }
      
    4. 注册自定义的Filter,Listener,Intercetor
      @Configuration
      public class WebConfig implements WebMvcConfigurer {
      
          @Bean
          public FilterRegistrationBean filterRegistrationBean(){
              FilterRegistrationBean bean = new FilterRegistrationBean();
              bean.setFilter(new MyFilter());
              bean.setName("MyFilter");
              bean.addUrlPatterns("/*");
              return bean;
          }
      
          @Bean
          public ServletListenerRegistrationBean listenerRegistrationBean(){
              ServletListenerRegistrationBean bean = new ServletListenerRegistrationBean();
              bean.setListener(new MyListener());
              return bean;
          }
      
          @Override
          public void addInterceptors(InterceptorRegistry registry) {
              registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");
          }
      }
      
  • 相关阅读:
    winform 通过 windows api 实现本机两个exe 消息推送
    winform ListView控件 绘制item和subitems颜色
    C# Windows Service创建和安装
    C# 解析xml文件(带命名空间 xmlns和 xmlns:xsi)
    H5+CSS3 实现分页功能
    C# HashTable Dictionary ConcurrentDictionary HashSet
    使用泛型返回类
    WPF的XAML注意点
    Http监听HttpListener接收请求的Nancy框架
    获取Windows后台进程
  • 原文地址:https://www.cnblogs.com/king-peng/p/10214535.html
Copyright © 2011-2022 走看看