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

网站怎么做优化wordpress不支持php7

网站怎么做优化,wordpress不支持php7,合肥网站建设推荐 晨飞网络,网站技术开发文档模板文章目录 SpringBoot 项目中后端实现跨域的5种方式#xff01;#xff01;#xff01;一、为什么会出现跨域问题二、什么是跨域三、非同源限制四、Java后端 实现 CORS 跨域请求的方式1、返回新的 CorsFilter(全局跨域)2、重写 WebMvcConfigurer(全局跨域)3、使用注解 (局部跨… 文章目录 SpringBoot 项目中后端实现跨域的5种方式一、为什么会出现跨域问题二、什么是跨域三、非同源限制四、Java后端 实现 CORS 跨域请求的方式1、返回新的 CorsFilter(全局跨域)2、重写 WebMvcConfigurer(全局跨域)3、使用注解 (局部跨域)4、手动设置响应头(局部跨域)5、使用自定义filter实现跨域 SpringBoot 项目中后端实现跨域的5种方式 一、为什么会出现跨域问题 出于浏览器的同源策略限制。同源策略Sameoriginpolicy是一种约定它是浏览器最核心也最基本的安全功能如果缺少了同源策略则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的浏览器只是针对同源策略的一种实现。 同源策略 同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源即指在同一个域就是两个页面具有相同的协议protocol主机host和端口号port 二、什么是跨域 举例说明: 当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域 三、非同源限制 【1】无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB 【2】无法接触非同源网页的 DOM 【3】无法向非同源地址发送 AJAX 请求 四、Java后端 实现 CORS 跨域请求的方式 对于 CORS的跨域请求主要有以下几种方式可供选择 1、返回新的CorsFilter 2、重写 WebMvcConfigurer 3、使用注解 CrossOrigin 4、手动设置响应头 (HttpServletResponse) 5、自定web filter 实现跨域 注意 CorFilter / WebMvConfigurer / CrossOrigin 需要 SpringMVC 4.2以上版本才支持对应springBoot 1.3版本以上上面前两种方式属于全局 CORS 配置后两种属于局部 CORS配置。如果使用了局部跨域是会覆盖全局跨域的规则所以可以通过 CrossOrigin 注解来进行细粒度更高的跨域资源控制。其实无论哪种方案最终目的都是修改响应头向响应头中添加浏览器所要求的数据进而实现跨域 1、返回新的 CorsFilter(全局跨域) 在任意配置类返回一个 新的 CorsFIlter Bean 并添加映射路径和具体的CORS配置路径。 Configuration public class GlobalCorsConfig {Beanpublic CorsFilter corsFilter() {//1. 添加 CORS配置信息CorsConfiguration config new CorsConfiguration();//放行哪些原始域config.addAllowedOrigin(*);//是否发送 Cookieconfig.setAllowCredentials(true);//放行哪些请求方式config.addAllowedMethod(*);//放行哪些原始请求头部信息config.addAllowedHeader(*);//暴露哪些头部信息config.addExposedHeader(*);//2. 添加映射路径UrlBasedCorsConfigurationSource corsConfigurationSource new UrlBasedCorsConfigurationSource();corsConfigurationSource.registerCorsConfiguration(/**,config);//3. 返回新的CorsFilterreturn new CorsFilter(corsConfigurationSource);} } 2、重写 WebMvcConfigurer(全局跨域) Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping(/**)//是否发送Cookie.allowCredentials(true)//放行哪些原始域.allowedOrigins(*).allowedMethods(new String[]{GET, POST, PUT, DELETE}).allowedHeaders(*).exposedHeaders(*);} } 3、使用注解 (局部跨域) 在控制器(类上)上使用注解 CrossOrigin:表示该类的所有方法允许跨域。 RestController CrossOrigin(origins *) public class HelloController {RequestMapping(/hello)public String hello() {return hello world;} } 在方法上使用注解 CrossOrigin: RequestMapping(/hello)CrossOrigin(origins *)//CrossOrigin(value http://localhost:8081) //指定具体ip允许跨域public String hello() {return hello world;} 4、手动设置响应头(局部跨域) 使用 HttpServletResponse 对象添加响应头(Access-Control-Allow-Origin)来授权原始域这里 Origin的值也可以设置为 “*”,表示全部放行。 RequestMapping(/index) public String index(HttpServletResponse response) {response.addHeader(Access-Allow-Control-Origin,*);return index; } 5、使用自定义filter实现跨域 ssm的写法 首先编写一个过滤器可以起名字为MyCorsFilter.java package cn.fpl.aop;import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; Component public class MyCorsFilter implements Filter {public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {HttpServletResponse response (HttpServletResponse) res;response.setHeader(Access-Control-Allow-Origin, *);response.setHeader(Access-Control-Allow-Methods, POST, GET, OPTIONS, DELETE);response.setHeader(Access-Control-Max-Age, 3600);response.setHeader(Access-Control-Allow-Headers, x-requested-with,content-type);chain.doFilter(req, res);}public void init(FilterConfig filterConfig) {}public void destroy() {} } 在web.xml中配置这个过滤器使其生效 !-- 跨域访问 START-- filterfilter-nameCorsFilter/filter-namefilter-classcn.fpl.aop.MyCorsFilter/filter-class /filter filter-mappingfilter-nameCorsFilter/filter-nameurl-pattern/*/url-pattern /filter-mapping !-- 跨域访问 END -- springboot可以简化 import org.springframework.context.annotation.Configuration; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletResponse; import java.io.IOException; WebFilter(filterName CorsFilter ) Configuration public class CorsFilter implements Filter {Overridepublic void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {HttpServletResponse response (HttpServletResponse) res;response.setHeader(Access-Control-Allow-Origin,*);response.setHeader(Access-Control-Allow-Credentials, true);response.setHeader(Access-Control-Allow-Methods, POST, GET, PATCH, DELETE, PUT);response.setHeader(Access-Control-Max-Age, 3600);response.setHeader(Access-Control-Allow-Headers, Origin, X-Requested-With, Content-Type, Accept);chain.doFilter(req, res);} }
http://www.hkea.cn/news/14356938/

相关文章:

  • 一级做a爱免费网站无锡新吴区住房建设和交通局网站
  • wordpress qux主题沙洋县seo优化排名价格
  • 唐山住房和城乡建设局网站专业创建网站
  • 网站系统开发创新的做网站
  • 客户网站留言旅游网站建设背景
  • 廊坊网站快照优化公司网页设计基础教学
  • 网站建设需要什么资料可以做营销任务的网站
  • 怎样做网站备案wordpress 勾子
  • 中国建设银行 英文网站房产信息网的官网链接
  • 制作网站的代码小学生家长网站建设需求
  • 贵州贵州省住房和城乡建设厅网站找人做菠菜网站需要多少钱
  • 网站建设可研建设银行网站显示404
  • 小型企业的网站建设论文建设局局长有实权吗
  • 外卖做的比较好的网站辽宁模板网站建设公司
  • 做网站网站建设教程做网站的大型公司
  • 个人承接网站建设甘肃网络营销是什么
  • 网站开发及服务合同网站设计建设专业服务
  • 谷歌找网站后台让别人做网站的话术
  • 做网站电子版报价模板网页开发者工具怎么用
  • 做一个销售网站需要多少钱做网站是用c 吗
  • 程序员做网站美工能过关吗免费模板建站
  • 丰浩网站建设中心网站建设筹备方案
  • 汽配信息门户网站模板网络推广公司营业执照
  • 金融理财网站建设莲湖微网站建设
  • 儿童网站开发 论文装潢设计装修
  • 肥料网站建设 中企动力平面广告设计要学的软件
  • 做流量网站要做哪一种河北招投标公共服务平台
  • 网站首页布局seo国外校园网站建设
  • 做棋牌开发的网站竞价软件哪个好
  • 网站ip和pv网站怎么添加广告