В чем разница между * и ** в springFrameWorkMvc.webMVCConfig?

Я изучал весну, особенно весенний ботинок.

Итак, я сделал проект, установил конфигурацию в этот проект. Но я плохо знал весну.

Так что я искал эти вещи, просто скопировал коды.

И теперь я нахожу странную вещь, которую я упомянул в заголовке. Пожалуйста, смотрите ниже коды.

@Configuration
@EnableWebMvc
public class WebMVCAutoConfig implements WebMvcConfigurer{

   @Override
   public void addResourceHandlers(ResourceHandlerRegistry registry) {

      registry.addResourceHandler("/*")
              .addResourceLocations("classpath:/static/");


      //I used this for get some images out of the project.
      registry.addResourceHandler("/external/**")
              .addResourceLocations("file:D:///resource/");
   }

}

Как видите, оба аргумента addResourceHandler имеют * в аргументе.

Но я не могу понять, почему я должен использовать два * в нижнем коде.

Из того, что я пишу эти коды, когда я получаю доступ по http://localhost:port/pre-setting-url, это работает.

Но если я использую только один * в нижнем коде, предварительная настройка URL-адреса не работает. Я не могу получить изображения.

Я знаю значение * как «все», но это не так?

Что означают * и **

Помоги мне!

Спасибо.

0
0
96
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

/* означает любой ресурс непосредственно под /, например, /foo или /bar, но не /foo/something.

** также включает подресурсы, поэтому /external/** соответствует /external/foo/something или /external/foo/somethingelse.

Это круто и просто. большое спасибо. будь счастлив!

user14792970 17.12.2020 06:59

Другие вопросы по теме