温江网站建设价格,太平洋在线企业建站系统,成都房地产管理局,莱芜户型优化培训用JAVA进行编写WEB项目时#xff0c;我们一般需要对WEB进行统一配置#xff0c;例如制定拦截路径、页面解析器、跨域配置、fastjson报文解析、文件上传大小配置等。
Getter
Setter
Configuration
public class WebConfiguration extends WebMvcConfigurationSupport {priva…用JAVA进行编写WEB项目时我们一般需要对WEB进行统一配置例如制定拦截路径、页面解析器、跨域配置、fastjson报文解析、文件上传大小配置等。
Getter
Setter
Configuration
public class WebConfiguration extends WebMvcConfigurationSupport {private static final String MATCH_ALL /**;Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new RequestIdInterceptor()).addPathPatterns(MATCH_ALL);registry.addInterceptor(new MockRequestEntityInterceptor()).addPathPatterns(MATCH_ALL);}Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController(/).setViewName(index);registry.setOrder(Ordered.HIGHEST_PRECEDENCE);super.addViewControllers(registry);}/** Spring mvc 的页面解析器配置*/Beanpublic InternalResourceViewResolver viewResolver(){InternalResourceViewResolver viewResolver new InternalResourceViewResolver();viewResolver.setPrefix(/);viewResolver.setSuffix(.html);return viewResolver;}/*** 跨域配置*/public CorsFilter corsFilter() {UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration(/**, corsConfig());return new CorsFilter(source);}/** Spring mvc 的静态资源路径配置*/Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler(/resource/**).addResourceLocations(classpath:/static/resource/);registry.addResourceHandler(/*.html).addResourceLocations(classpath:/static/);}/** 项目序列化使用fastjson因序列化解析器执行是列表由前至后的优先级故把fastjson加入到序列0的位置*/Overridepublic void extendMessageConverters(ListHttpMessageConverter? converters) {converters.set(0,fastJsonHttpMessageConverter());}/** 生成FastJsonHttpMessageConverter返回值解析器*/public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {FastJsonHttpMessageConverter converter new FastJsonHttpMessageConverter();converter.setFastJsonConfig(fastJsonConfig());converter.setSupportedMediaTypes(mediaTypes());return converter;}/** 生成FastJsonHttpMessageConverter返回值解析器 - 解析详细配置*/public FastJsonConfig fastJsonConfig() {FastJsonConfig fastJsonConfig new FastJsonConfig();fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,SerializerFeature.WriteEnumUsingToString);// 日期时间格式及字符集配置fastJsonConfig.setDateFormat(yyyy-MM-dd HH:mm:ss);fastJsonConfig.setCharset(Charset.forName(utf-8));// 防止Long类型转json丢失精度的问题SerializeConfig serializeConfig SerializeConfig.globalInstance;serializeConfig.put(Long.class, ToStringSerializer.instance);serializeConfig.put(Long.TYPE, ToStringSerializer.instance);fastJsonConfig.setSerializeConfig(serializeConfig);return fastJsonConfig;}/** 生成FastJsonHttpMessageConverter返回值解析器 - 解析格式组件 支持的mediaType的类型* 1.application/json;charsetUTF-8* 2.application/json*/public ListMediaType mediaTypes() {ListMediaType mediaTypeList new ArrayList();mediaTypeList.add(MediaType.APPLICATION_JSON_UTF8);mediaTypeList.add(MediaType.APPLICATION_JSON);return mediaTypeList;}Beanpublic CommonsMultipartResolver multipartResolver() {CommonsMultipartResolver resolver new CommonsMultipartResolver();resolver.setDefaultEncoding(UTF-8);//resolveLazily属性启用是为了推迟文件解析以在在UploadAction中捕获文件大小异常resolver.setResolveLazily(true);resolver.setMaxInMemorySize(40960);//上传文件大小 5M 5*1024*1024resolver.setMaxUploadSize(5 * 1024 * 1024);return resolver;}private CorsConfiguration corsConfig() {CorsConfiguration corsConfiguration new CorsConfiguration();corsConfiguration.addAllowedOrigin(*);corsConfiguration.addAllowedHeader(*);corsConfiguration.addAllowedMethod(*);corsConfiguration.setAllowCredentials(true);corsConfiguration.setMaxAge(3600L);return corsConfiguration;}
}