Springbootプロジェクトのスクリーンセーバー使用方法の詳細


1.ブロックを作成し、Handler Interceptorインターフェースを実現する

package com.leiyuan.bs.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//    
public class MyHandlerInterceptor implements HandlerInterceptor {
  /**
   *   (Controller      )
   *
   * @param request request
   * @param response response
   * @param o    o
   * @return     
   * @throws Exception     
   */
  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object
      o) throws Exception {
    // TODO                 ,         session ,   userSession,        
    if (request.getSession().getAttribute("userSession") == null) {
      //        
      request.getRequestDispatcher("/user/toLogin").forward(request, response);
      // false    
      return false;
    }
    // true   
    return true;
  }

  //             (   controller    ,      )
  @Override
  public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o,
              ModelAndView modelAndView) throws Exception {

  }

  //                 
  @Override
  public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
                Object o, Exception e) throws Exception {

  }
}
2.構成類MyHandler InterceptorConfigを作成し、WebMvcConfigrer Adapter類を継承してaddInterceptorsを書き換える方法

package com.leiyuan.bs;

import com.leiyuan.bs.interceptor.MyHandlerInterceptor;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
//       
@Component
public class MyHandlerInterceptorConfig extends WebMvcConfigurerAdapter {
  @Override
  public void addInterceptors(InterceptorRegistry registry) {
  	/**
     *    addPathPatterns("/**")          “/**”    ,  excludePathPatterns("/user/toLogin")             		   
     */
    registry.addInterceptor(new MyHandlerInterceptor()).addPathPatterns("/**").excludePathPatterns("/user/toLogin").excludePathPatterns
        ("/user/login").excludePathPatterns("/user/toNewUser").excludePathPatterns("/user/newUser");
    super.addInterceptors(registry);
  }
}
3.プロジェクトを起動すると効果が見られます。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。