SpringBoot搭建專案幾個小坑
阿新 • • 發佈:2018-12-21
WebMvcConfigurer配置類其實是Spring內部的一種配置方式,採用JavaBean的形式來代替傳統的xml配置檔案形式進行鍼對框架個性化定製。基於java-based方式的spring mvc配置,需要建立一個配置類並實現WebMvcConfigurer 介面,WebMvcConfigurerAdapter 抽象類是對WebMvcConfigurer介面的簡單抽象(增加了一些預設實現),但在在SpringBoot2.0及Spring5.0中WebMvcConfigurerAdapter已被廢棄 。官方推薦直接實現WebMvcConfigurer或者直接繼承WebMvcConfigurationSupport,方式一實現WebMvcConfigurer介面(推薦),方式二繼承WebMvcConfigurationSupport類,原來的WebMvcConfigurerAdapter已經被摒棄。
我的目錄結構如下
原先應用啟動後在login介面,一直報錯 “Request method 'GET' not supported”,修改Controller中Post方法沒有用,新增@Configuration後解決。
另外新增"/js/**","/css/**","/images/**"到下面程式碼中後,static下資源才得以正常載入。
@Configuration //必須加,不然會報" Request method 'GET' not supported" public class MyWebMvcConfigurerAdapter implements WebMvcConfigurer{ @Override public void addInterceptors(org.springframework.web.servlet.config.annotation.InterceptorRegistry registry) { registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**").excludePathPatterns("/toLogin", "/login","/js/**","/css/**","/images/**"); } @Override public void addViewControllers(org.springframework.web.servlet.config.annotation.ViewControllerRegistry registry) { registry.addViewController("/toLogin").setViewName("login"); } }
說明:addPathPatterns("/**")
對所有請求都攔截,但是排除了/toLogin
和/login
請求的攔截。