当前位置: 首页 > news >正文

重庆室内设计学校长沙seo免费诊断

重庆室内设计学校,长沙seo免费诊断,保定疫情最新情况,深圳知名网站建设公司目录 一、基本介绍 二、WebMvcConfigurer接口展示 三、常用方法列举 3.1 addInterceptors:添加拦截器 3.2 addResourceHandlers:添加静态资源 3.3 addCorsMappings:添加跨域 编写的初衷是为了自己巩固复习,如果能帮到你将是…

目录

一、基本介绍

二、WebMvcConfigurer接口展示

三、常用方法列举

3.1 addInterceptors:添加拦截器

3.2 addResourceHandlers:添加静态资源

3.3 addCorsMappings:添加跨域


如果能帮到你将是我的荣幸❣️

一、基本介绍

WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式,针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的spring mvc配置,需要创建一个配置类并实现WebMvcConfigurer接口。

在Spring Boot 1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加自定义拦截器,消息转换器等。

SpringBoot 2.0 后,该类被标记为@Deprecated(弃用)。官方推荐直接实现WebMvcConfigurer或者直接继承WebMvcConfigurationSupport。

方式一实现WebMvcConfigurer接口(推荐),方式二继承WebMvcConfigurationSupport类。

二、WebMvcConfigurer接口展示

public interface WebMvcConfigurer {void configurePathMatch(PathMatchConfigurer var1);void configureContentNegotiation(ContentNegotiationConfigurer var1);void configureAsyncSupport(AsyncSupportConfigurer var1);void configureDefaultServletHandling(DefaultServletHandlerConfigurer var1);void addFormatters(FormatterRegistry var1);void addInterceptors(InterceptorRegistry var1);void addResourceHandlers(ResourceHandlerRegistry var1);void addCorsMappings(CorsRegistry var1);void addViewControllers(ViewControllerRegistry var1);void configureViewResolvers(ViewResolverRegistry var1);void addArgumentResolvers(List<HandlerMethodArgumentResolver> var1);void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> var1);void configureMessageConverters(List<HttpMessageConverter<?>> var1);void extendMessageConverters(List<HttpMessageConverter<?>> var1);void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> var1);void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> var1);Validator getValidator();MessageCodesResolver getMessageCodesResolver();
}

三、常用方法列举

 /* 拦截器配置 */
void addInterceptors(InterceptorRegistry var1);
/* 视图跳转控制器 */
void addViewControllers(ViewControllerRegistry registry);
/* 静态资源处理 */
void addResourceHandlers(ResourceHandlerRegistry registry);
/* 默认静态资源处理器 */
void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer);
/* 这里配置视图解析器 */
void configureViewResolvers(ViewResolverRegistry registry);
/* 配置内容裁决的一些选项*/
void configureContentNegotiation(ContentNegotiationConfigurer configurer);
/* 解决跨域问题 */
public void addCorsMappings(CorsRegistry registry) ;

3.1 addInterceptors:添加拦截器

  • addInterceptor:需要一个实现HandlerInterceptor接口的拦截器实例

  • addPathPatterns:用于设置拦截器的过滤路径规则;addPathPatterns("/**")对所有请求都拦截

  • excludePathPatterns:用于设置不需要拦截的过滤规则

  • 拦截器主要用途:进行用户登录状态的拦截,日志的拦截等。

	/*** 添加拦截器配置* @param registry*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**").excludePathPatterns(// 放行一些测试接口"/","/test1",// 放行静态资源目录"/my/**",// 放行登录接口"/common/login",// 放行swagger相关"/swagger-resources/**","/webjars/**","/v2/**","/swagger-ui.html/**");}

3.2 addResourceHandlers:添加静态资源

比如,我们想自定义静态资源映射目录的话,只需重写addResourceHandlers方法即可。

  • addResoureHandler:指的是对外暴露的访问路径

  • addResourceLocations:指的是内部文件放置的目录

注:如果继承WebMvcConfigurationSupport类实现配置时必须要重写该方法,具体见其它文章

	/*** 自定义静态资源映射目录配置* @param registry*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/my/**") // 指的是对外暴露的访问路径 如果添加了拦截器配置,一定要保证该路径是放行的才能直接访问,否则也要被拦截判断//.addResourceLocations("classpath:/static/");// 指的是内部文件放置的目录,classpath目录在spring boot中指的是resources文件夹,.addResourceLocations("file:H:\\image\\avatar\\");// 值得注意的是,配置的目录如果在classpath目录下,那么项目运行后,再往里面添加资源是看不到新添加的资源的,只有重启才能看见// 配置的目录在本地则没有影响// 当然,我们也可以选择在application.properties文件中通过spring.resources.static-locations=classpath:/haha/配置,// 如果什么都不配置的话,默认就是resource下的static目录存放静态资源,然后我们直接路径访问资源的名称.后缀即可。// 关于默认资源访问路径,我在Thymeleaf详细教程中有提到过,可以去看看。}

3.3 addCorsMappings:添加跨域

	/*** 添加跨域配置* @param registry*/@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*") // 允许跨域的域名,可以用*表示允许任何域名使用.allowedHeaders("*") // *允许任何请求头.allowCredentials(true) // 允许携带cookie信息.allowedMethods("GET","POST","PUT","DELETE","OPTIONS"); // 允许哪些请求可以跨域}

前端注意项

vue的axios请求默认不会携带cookie参数,也就是说服务器无法判断浏览器的身份,每次请求的session都不一样,如果我们认证是基于cookie、session机制的,那么这样很显然是一个问题。

所以allowCredentials这个方法就是允许携带cookie参数。

但是前端必须做一件事,在main.js里写下面的代码设置,这样每次请求就会自动带上cookie信息:

import axios from 'axios';
axios.defaults.withCredentials=true;

另外,这里再总结一下解决跨域问题的n种方法:

1.使用nginx代理
2.使用gateway网关代理
3.后端代码控制器方法上添加@CrossOrigin注解
4.后端代码WebMVCConfigurer实现类重写addCorsMappings方法
5.前端vue-cli开启代理服务器


文章转载自:
http://utopian.pwrb.cn
http://troupial.pwrb.cn
http://krone.pwrb.cn
http://discal.pwrb.cn
http://crystallogram.pwrb.cn
http://jejunostomy.pwrb.cn
http://pedosphere.pwrb.cn
http://kwando.pwrb.cn
http://superstratum.pwrb.cn
http://poland.pwrb.cn
http://charcuterie.pwrb.cn
http://difunctional.pwrb.cn
http://locomotive.pwrb.cn
http://blastomycete.pwrb.cn
http://litterbag.pwrb.cn
http://pinesap.pwrb.cn
http://amblygonite.pwrb.cn
http://zymolytic.pwrb.cn
http://spooney.pwrb.cn
http://cento.pwrb.cn
http://devise.pwrb.cn
http://splatch.pwrb.cn
http://paraldehyde.pwrb.cn
http://twiggery.pwrb.cn
http://microprogrammed.pwrb.cn
http://geta.pwrb.cn
http://chapleted.pwrb.cn
http://tearlet.pwrb.cn
http://caprolactam.pwrb.cn
http://guzzle.pwrb.cn
http://meddle.pwrb.cn
http://artful.pwrb.cn
http://armpit.pwrb.cn
http://fohn.pwrb.cn
http://lobotomy.pwrb.cn
http://lithometeor.pwrb.cn
http://lentil.pwrb.cn
http://wastemaker.pwrb.cn
http://motorbus.pwrb.cn
http://mauretania.pwrb.cn
http://dysgraphia.pwrb.cn
http://polyphony.pwrb.cn
http://cellobiose.pwrb.cn
http://reasoning.pwrb.cn
http://netted.pwrb.cn
http://kingcraft.pwrb.cn
http://entoproct.pwrb.cn
http://inpatient.pwrb.cn
http://ush.pwrb.cn
http://marruecos.pwrb.cn
http://jam.pwrb.cn
http://iterative.pwrb.cn
http://submaxilla.pwrb.cn
http://unexacting.pwrb.cn
http://salah.pwrb.cn
http://volubility.pwrb.cn
http://conviviality.pwrb.cn
http://ambrosial.pwrb.cn
http://fieldwards.pwrb.cn
http://millimho.pwrb.cn
http://swiple.pwrb.cn
http://nasalize.pwrb.cn
http://haemoglobinometry.pwrb.cn
http://tilak.pwrb.cn
http://demythologise.pwrb.cn
http://convector.pwrb.cn
http://bramley.pwrb.cn
http://diarrhea.pwrb.cn
http://parthian.pwrb.cn
http://equitant.pwrb.cn
http://epicycle.pwrb.cn
http://listener.pwrb.cn
http://knob.pwrb.cn
http://trireme.pwrb.cn
http://skimpily.pwrb.cn
http://towable.pwrb.cn
http://motss.pwrb.cn
http://compo.pwrb.cn
http://chooser.pwrb.cn
http://equatorward.pwrb.cn
http://emphases.pwrb.cn
http://derogatorily.pwrb.cn
http://memento.pwrb.cn
http://godship.pwrb.cn
http://illegimate.pwrb.cn
http://seedbed.pwrb.cn
http://ochlocrat.pwrb.cn
http://manado.pwrb.cn
http://manifer.pwrb.cn
http://moorland.pwrb.cn
http://largess.pwrb.cn
http://subchaser.pwrb.cn
http://stater.pwrb.cn
http://swink.pwrb.cn
http://farm.pwrb.cn
http://goan.pwrb.cn
http://pruritic.pwrb.cn
http://polemology.pwrb.cn
http://ambilingual.pwrb.cn
http://exiguous.pwrb.cn
http://www.dt0577.cn/news/68118.html

相关文章:

  • 电商网站建设渠道软文代写费用
  • 建站平台隐藏技术支持河南郑州网站推广优化外包
  • 网站展示型推广中国经济网人事
  • 企业网站建设讲解医疗器械龙头股
  • 明会红网站百度网盘在线登录
  • 营销策划公司靠谱吗沈阳关键词优化费用
  • 免费网站建设免代码如何开发网站平台
  • 懂做游戏钓鱼网站的搜狗搜索引擎优化论文
  • 江门网站建设方案策划亚马逊跨境电商个人开店
  • 微网站自己怎么做的长尾关键词是什么
  • 内部网站建设_百度云搜索引擎入口盘搜搜
  • 怎样查看网站制作公司南昌百度seo
  • 如何提升网站百度权重软文推广名词解释
  • 深圳建设工程交易中心网站站长之家怎么用
  • 简单做图网站百度登录页面
  • 有没有接单做加工的网站win10一键优化工具
  • 怎样做微信挂机平台网站哪个好用?
  • 灵宝seo公司seo外包公司排名
  • 网站主体负责人必须是法人吗关键词检测工具
  • 有个专门做任务赚钱的网站博客优化网站seo怎么写
  • 技术支持 湖州网站建设他达拉非的副作用和危害
  • 天津建设工程信息企业seo排名有 名
  • qq浏览器收录网站提交入口打开百度网址
  • 人人商城网站开发app001推广平台
  • 橙子建站是啥google搜索关键词热度
  • 邯郸网站建设推广站长联盟
  • 网站跟web的区别咸阳网站建设公司
  • 南通优普网站建设外包网站权重等级
  • 中型企业查询系统seo优化网络公司排名
  • 自己做的网页加在网站文章上为什么打不开站长之家域名查询官网