Spring Boot 對請求的映射
阿新 • • 發佈:2019-02-23
三種方式 跳轉 con set int 截器 map over err
在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方法,和第二種方式一樣(推薦)
Spring Boot 對請求的映射