content: package com.lgp.webjar.controller;
  
  
  import org.springframework.core.io.ClassPathResource;
  import org.springframework.http.HttpStatus;
  import org.springframework.http.ResponseEntity;
  import org.springframework.stereotype.Controller;
  import org.springframework.web.bind.annotation.PathVariable;
  import org.springframework.web.bind.annotation.RequestMapping;
  import org.springframework.web.bind.annotation.ResponseBody;
  import org.springframework.web.servlet.HandlerMapping;
  import org.webjars.WebJarAssetLocator;
  
  import javax.servlet.http.HttpServletRequest;
  
  /**
   * Created by IntelliJ IDEA.
   * User: a247292980
   * Date: 2017/08/14
   * <p>
   * 处理WebJars，无视版本号，使用带版本号的方法可注释此类
   **/
  @Controller
  public class WebJarController {
      private final WebJarAssetLocator assetLocator = new WebJarAssetLocator();
  
      /**
       * RequestMapping的地址是固定的
       */
      @ResponseBody
      @RequestMapping("/webjarslocator/{webjar}/**")
      public ResponseEntity locateWebjarAsset(@PathVariable String webjar, HttpServletRequest request) {
          try {
              String mvcPrefix = "/webjarslocator/" + webjar + "/";
              String mvcPath = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
              String fullPath = assetLocator.getFullPath(webjar, mvcPath.substring(mvcPrefix.length()));
              return new ResponseEntity(new ClassPathResource(fullPath), HttpStatus.OK);
          } catch (Exception e) {
              return new ResponseEntity(HttpStatus.NOT_FOUND);
          }
      }
  
  }