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

用ftp改网站电话怎么内页底部的没有变无锡做网站seo的

用ftp改网站电话怎么内页底部的没有变,无锡做网站seo的,上海装修设计公司排名,wordpress时间差8小时文章目录 1. 前置知识2. 原理和解决方案总结2.1. 跨域不通过原理流程图2.2. 实现原理#xff1a;添加以下http响应头2.3. 四种跨域实现方式及优先级#xff08;从高到低#xff09; 3. 具体实现代码3.1. 跨域全局配置方式-Filter(全适用)3.2. 跨域全局配置方式-SpringMvc3.3… 文章目录 1. 前置知识2. 原理和解决方案总结2.1. 跨域不通过原理流程图2.2. 实现原理添加以下http响应头2.3. 四种跨域实现方式及优先级从高到低 3. 具体实现代码3.1. 跨域全局配置方式-Filter(全适用)3.2. 跨域全局配置方式-SpringMvc3.3. 跨域单个配置方式-WebServlet3.4. 跨域单个配置方式-SpringMvc 4.非java实现方式4.1. nginx代理 9. 参考文章 1. 前置知识 【尚硅谷】【视频】【B站】禹神一小时彻底搞懂跨域解决方案【尚硅谷】【笔记】【CSDN】禹神彻底搞懂前端跨域解决方案 2. 原理和解决方案总结 2.1. 跨域不通过原理流程图 2.2. 实现原理添加以下http响应头 序号响应头含义1Access-Control-Allow-Origin允许的源2Access-Control-Allow-Methods允许的方法3Access-Control-Allow-Headers允许的自定义头4Access-Control-Max-Age预检请求的结果缓存时间可选 2.3. 四种跨域实现方式及优先级从高到低 跨域全局配置方式-Filter(全适用) 重写 Filter.doFilter()设置 res.setHeader(“Access-Control-Allow-Origin”, “*”) 等响应头参数跨域全局配置方式-SpringMvc 重写 WebMvcConfigurer.addCorsMappings()设置 registry.addMapping(“/**”).allowedOrigins(“*”)等响应头参数只对SpringMvc写法生效对原生Servlet不生效跨域单个配置方式-WebServlet 设置 res.addHeader(“Access-Control-Allow-Origin”, “*”) 等响应头参数跨域单个配置方式-SpringMvc 添加 CrossOrigin注解设置origins等响应头参数只对SpringMvc写法生效对原生Servlet不生效 3. 具体实现代码 gitee源码 3.1. 跨域全局配置方式-Filter(全适用) 重写Filter.doFilter()设置 res.setHeader(Access-Control-Allow-Origin, *) 等响应头参数 /** 1.跨域全局配置方式-Filter(全适用) */ Configuration public class CorsFilter implements Filter {Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletResponse res (HttpServletResponse) response;res.setHeader(Access-Control-Allow-Origin, req.getHeader(Origin)); //【跨域配置】[必需] 允许请求源 默认值 无配置*允许所有。// 如果是复杂请求的预检请求判断逻辑同SpringMvc设置以下响应头且没必要执行其它过滤器链 chain.doFilter(request, response);if (req.getMethod().equalsIgnoreCase(OPTIONS) !ObjUtil.hasNull(req.getHeader(Origin), req.getHeader(Access-Control-Request-Method))) {res.setHeader(Access-Control-Allow-Methods, req.getHeader(Access-Control-Request-Method)); //【跨域配置】[有复杂请求方法时必需] 允许请求方法默认值 无配置 *允许所有res.setHeader(Access-Control-Allow-Headers, req.getHeader(Access-Control-Request-Headers)); //【跨域配置】[有复杂请求头时必需] 允许请求头 默认值 无配置 *允许所有res.setHeader(Access-Control-Max-Age, 5); //【跨域配置】[非必需] 预检缓存时长 默认值 依赖客户端。EDGE浏览器默认值为3秒。【注意浏览器不要禁用缓存否则不生效】return;}} }3.2. 跨域全局配置方式-SpringMvc 重写 WebMvcConfigurer.addCorsMappings()设置 registry.addMapping(“/**”).allowedOrigins(“*”)等响应头参数只对SpringMvc写法生效对原生Servlet不生效 /** 2.跨域全局配置方式-SpringMvc */ Configuration public class WebMvcConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping(/**) // 适配RequestMapping。 (例如/ajax/** 开头的)// 下面几个参数不配置会使用默认值。origins 和 originPatterns取并集.allowedOrigins(*) //【跨域配置】[必需] 允许请求源默认值为*即允许所有。相当于res.setHeader(Access-Control-Allow-Origin, ).allowedOriginPatterns(*) //【跨域配置】[必需] 允许请求源默认值为*即允许所有。相当于res.setHeader(Access-Control-Allow-Origin, ).allowedMethods(*) //【跨域配置】[有复杂请求方法时必需] 允许请求方法默认值为GET,POST,HEAD。相当于res.setHeader(Access-Control-Allow-Methods, ).allowedHeaders(*) //【跨域配置】[有复杂请求头时必需] 允许请求头 默认值为*即允许所有。相当于res.setHeader(Access-Control-Allow-Headers, ).maxAge(1800); //【跨域配置】[非必需] 预检缓存时长默认值 1800秒。小于等于0时缓存无效【注意浏览器不要禁用缓存否则不生效】。相当于res.setHeader(Access-Control-Max-Age, )} }3.3. 跨域单个配置方式-WebServlet 设置 res.addHeader(“Access-Control-Allow-Origin”, “*”) 等响应头参数 /** 3.跨域单个配置方式-WebServlet */ Slf4j WebServlet(name ajax, value {/ajax/WebServlet, /ajax/WebServlet/}) public class AjaxWebServlet extends HttpServlet {Overrideprotected void service(HttpServletRequest req, HttpServletResponse res) throws IOException {log.warn(method【{}】, name【{}】, header.origin【{}】, Access-Control-Request-Method【{}】, Access-Control-Request-Headers【{}】, req.getMethod(), req.getParameter(name), req.getHeader(Origin), req.getHeader(Access-Control-Request-Method), req.getHeader(Access-Control-Request-Headers));res.setHeader(Access-Control-Allow-Origin, *); //【跨域配置】[必需] 允许请求源 默认值 无配置*允许所有。res.setHeader(Access-Control-Allow-Methods, *); //【跨域配置】[有复杂请求方法时必需] 允许请求方法默认值 无配置 *允许所有res.setHeader(Access-Control-Allow-Headers, *); //【跨域配置】[有复杂请求头时必需] 允许请求头 默认值 无配置 *允许所有res.setHeader(Access-Control-Max-Age, 1800); //【跨域配置】[非必需] 预检缓存时长 默认值 依赖客户端。EDGE浏览器默认值为3秒。【注意浏览器不要禁用缓存否则不生效】res.getWriter().write(DateUtil.now() req.getMethod());} }3.4. 跨域单个配置方式-SpringMvc 添加 CrossOrigin注解设置origins等响应头参数只对SpringMvc写法生效对原生Servlet不生效 /* 4.跨域单个配置方式-SpringMvc */ Slf4j RestController RequestMapping(/ajax) public class AjaxController {CrossOrigin(// origins 和 originPatterns取并集。【注意】此处配置与下面的res.setHeader()功能相同优先级较低。二选其一即可origins {*}, //【跨域配置】[必需] 允许请求源 默认值为*即允许所有。相当于res.setHeader(Access-Control-Allow-Origin, )originPatterns {*}, //【跨域配置】[必需] 允许请求源 默认值为*即允许所有。相当于res.setHeader(Access-Control-Allow-Origin, )methods {}, //【跨域配置】[有复杂请求方法时必需] 允许请求方法默认值为优先以RequestMapping的method属性为准如果没有指定则默认为GET,POST,HEAD。相当于res.setHeader(Access-Control-Allow-Methods, )allowedHeaders {*}, //【跨域配置】[有复杂请求头时必需] 允许请求头 默认值为*即允许所有。相当于res.setHeader(Access-Control-Allow-Headers, )maxAge 1800 //【跨域配置】[非必需] 预检缓存时长默认值 1800秒。小于等于0时缓存无效【注意浏览器不要禁用缓存否则不生效】 。相当于res.setHeader(Access-Control-Max-Age, ))RequestMapping(value /CrossOrigin, method {RequestMethod.GET, RequestMethod.PUT})SneakyThrowsvoid ajax(HttpServletRequest req, HttpServletResponse res) {log.warn(method【{}】, name【{}】, header.origin【{}】, Access-Control-Request-Method【{}】, Access-Control-Request-Headers【{}】, req.getMethod(), req.getParameter(name), req.getHeader(Origin), req.getHeader(Access-Control-Request-Method), req.getHeader(Access-Control-Request-Headers));res.getWriter().write(DateUtil.now() req.getMethod());} }4.非java实现方式 4.1. nginx代理 优点不用侵入java代码 配置nginx反向代理。在配置文件nginx.conf的http中添加一个server将AJAX请求通过nginx转发。本例中将AJAX请求发给58080端口然后转发给8080端口 server {listen 58080;server_name localhost;location / {proxy_pass http://localhost:8080;# 增加响应头add_header Access-Control-Allow-Origin *; # 【跨域配置】[必需] 允许请求源 默认值 无配置*允许所有。if ($request_method OPTIONS) { # 如果是复杂请求的预检请求参考SpringMvc最好同时判断请求头Origin、Access-Control-Request-Method都不为null略设置以下响应头且没必要透传直接返回add_header Access-Control-Allow-Origin *; # 【跨域配置】[必需] 允许请求源 默认值 无配置*允许所有。add_header Access-Control-Allow-Methods *; # 【跨域配置】[有复杂请求方法时必需] 允许请求方法默认值 无配置 *允许所有add_header Access-Control-Allow-Headers *; # 【跨域配置】[有复杂请求头时必需] 允许请求头 默认值 无配置 *允许所有add_header Access-Control-Max-Age 5; # 【跨域配置】[非必需] 预检缓存时长 默认值 依赖客户端。EDGE浏览器默认值为3秒。【注意浏览器不要禁用缓存否则不生效】return 204;}} }9. 参考文章 CrossOrigin详细参数说明SpringBoot处理跨域请求的四种方法
http://www.hkea.cn/news/14423076/

相关文章:

  • 忆达城市建设游戏登录网站产品展示网站 模板
  • 企业网站建设综合实训心得体会一千字旅游网站设计页面
  • 上海网站建设 觉策动力wordpress主题dux
  • 杭州网站建设洛洛科技全网营销推广案例
  • 北京医疗网站建设公司怎么看网站用的什么cms
  • wordpress教程教程视频关键词是网站seo的核心工作
  • 汽车网站和移动端建设方案常州seo博客
  • 企业网站托管平台有哪些深圳做网站的网络公
  • 哪个网站做美食视频网站好wordpress目录地址
  • 上饶商城网站建设网站代码建设 实例
  • 济南外贸网站建站手机端网站排名
  • 陕西省住房建设厅网站北京公司建站模板
  • 在青海省住房和城乡建设厅网站怎么制作微信表情包
  • 失物招领网站开发项目需求分析做分销微商城网站
  • 宣城网站开发百度商桥网站代码去哪里添加
  • 做外汇哪个网站看外国消息专业团队图片张伟
  • 销售网站需要备案么访问wordpress下的子目录
  • 做网站的公司哪家最好长江设计公司
  • 电脑网站你懂我意思正能量php网站开发进程状态
  • 阜阳学校网站建设wordpress 3.6.1
  • 济南网站建设 力选聚搜网络wordpress 个人电脑
  • 网站建设 工作室专业建设包括哪些方面
  • 怎么把别人网站模板下载出来wordpress 做官网
  • 网站app客户端制作wordpress 插件 上传图片
  • 自助建站系统源码下载百度网盟推广
  • 漂亮的网站设计淘宝客 wordpress 主题
  • 手机网站建设讯息如何介绍设计的网站模板
  • 织梦网站版本做网站刷QQ会员网站
  • 著名的深圳网站建设网站做友链
  • 淮南家政网站建设地址做漫画网站 漫画哪找