在SpringBoot中對請求資源的映射有三種方式:
1.通過編寫一個Controller請求,獲得客戶端發送過來的請求就轉發出去
//通過這種方式可以來映射頁面請求路徑
@PostMapping("/hello") public String hello(){ return "login";//如果使用thymeleaf引擎,會去classpath:/public找對應的html
}
2.通過實現WebMvcConfigurerAdapter但是在2.x.x中已過時
@Override public void addViewControllers(ViewControllerRegistry registry) { // super.addViewControllers(registry); //瀏覽器請求 首頁,將跳轉到 thymeleaf下的login頁面。
registry.addViewController("/index.html").setViewName("login"); registry.addViewController("/").setViewName("login"); registry.addViewController("/main.html").setViewName("dashboard"); } /** * 通過另一種方式來配置虛擬路徑 * @return adapter */
//所有的WebMvcConfigurerAdapter組件都會一起起作用
@Bean //添加到Spring容器中
public WebMvcConfigurerAdapter MyWebMvcConfigurerAdapter(){ //內部類
WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("login"); registry.addViewController("/index.html").setViewName("login"); } //WebMvcConfigurerAdapter中注冊攔截器
@Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**"). excludePathPatterns("/index.html","/","/user/login","/webjars/**","/asserts/**"); } }; return adapter; }
3.通過實現WebMvcConfigurer方式,復寫addInterceptors方法,和第二種方式一樣(推薦)
