精华内容
下载资源
问答
  • Spring boot跨域设置

    万次阅读 2017-03-30 18:02:18
    本人是spring boot菜鸟,但是做测试框架后端需要使用Spring boot和前端对接,出现跨域问题,需要设置后端Response的Header.走了不少坑,在这总结一下以备以后使用   2. 使用场景 浏览器默认不允许跨域访问,包括...

    1. 原由

    本人是spring boot菜鸟,但是做测试框架后端需要使用Spring boot和前端对接,出现跨域问题,需要设置后端Response的Header.走了不少坑,在这总结一下以备以后使用

     

    2. 使用场景

    浏览器默认不允许跨域访问,包括我们平时ajax也是限制跨域访问的。

    产生跨域访问的情况主要是因为请求的发起者与请求的接受者1、域名不同;2、端口号不同

     

    3.解决方案

    通过设置Access-Control-Allow-Origin来实现跨域访问

     

    4. 具体解决

    刚开始使用http://www.jianshu.com/p/f2060a6d6e3b设置,但是由于我们使用的spring版本的问题,CorsConfiguration类需要4.2.7版本。和我们使用的spring里面版本不一致,导致版本冲突或者各种问题

     

    @Configuration
    public class CorsConfig {
        private CorsConfiguration buildConfig() {
            CorsConfiguration corsConfiguration = new CorsConfiguration();
            corsConfiguration.addAllowedOrigin("*"); // 1
            corsConfiguration.addAllowedHeader("*"); // 2
            corsConfiguration.addAllowedMethod("*"); // 3
            return corsConfiguration;
        }
    
        @Bean
        public CorsFilter corsFilter() {
            UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
            source.registerCorsConfiguration("/**", buildConfig()); // 4
            return new CorsFilter(source);
        }
    }


    后来改为Filter方式

     

     

    @Component
    public class CorsFilter implements Filter {
    
        final static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(CorsFilter.class);
    
    
    
        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
            HttpServletResponse response = (HttpServletResponse) res;
    
            HttpServletRequest reqs = (HttpServletRequest) req;
    
            response.setHeader("Access-Control-Allow-Origin","*");
            response.setHeader("Access-Control-Allow-Credentials", "true");
            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");
            chain.doFilter(req, res);
        }
        public void init(FilterConfig filterConfig) {}
        public void destroy() {}
    }

     

    网上很多资料都是教按以上方法设置,但是我这里就是设置不成功的。出现下面问题

     

    Fetch API cannot load https://atfcapi.alpha.elenet.me/atfcapi/project/mainPageList. The value of the 'Access-Control-Allow-Origin'
    header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'https://atfcapi-test.faas.elenet.me' is therefore not allowed access.

     

    目前为止,不知道为什么这样配置不可以,然后改为设置单个域名,如下显示

     

            response.setHeader("Access-Control-Allow-Origin", "https://atfcapi-test.faas.elenet.me");

    这样设置就成功了,但是我们有好几个环境,同一套代码,写死一个域名并解决不了问题,

     

    按照很多网络文章中所说,设置多个域名如下:

     

     response.setHeader("Access-Control-Allow-Origin", "https://atfcapi-test.faas.elenet.me,https://atfcapi-test-beta.faas.elenet.me");


    但是设置完以后,并不好用,出现如下错误信息:

     

     

    Fetch API cannot load https://atfcapi.alpha.elenet.me/atfcapi/project/getProjects. The 'Access-Control-Allow-Origin' header contains multiple values
    <span style="color:#ff6666">'https://atfcapi-test.faas.elenet.me,https://atfcapi-test-beta.faas.elenet.me', but only one is allowed. Origin 'https://atfcapi-test.faas.elenet.me' is therefore not allowed access. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.</span>


    设置为以下方式也还是错误:

     

     

     response.setHeader("Access-Control-Allow-Origin", "https://atfcapi-test.faas.elenet.me");
            response.setHeader("Access-Control-Allow-Origin", "https://atfcapi-test-beta.faas.elenet.me");

     

     

     

    最后采用了一种和设置为* 的方式一样的办法,代码如下:

     

    @Component
    public class CorsFilter implements Filter {
    
        final static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(CorsFilter.class);
    
    
    
        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
            HttpServletResponse response = (HttpServletResponse) res;
    
            HttpServletRequest reqs = (HttpServletRequest) req;
    
            response.setHeader("Access-Control-Allow-Origin",reqs.getHeader("Origin"));
            response.setHeader("Access-Control-Allow-Credentials", "true");
            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");
            chain.doFilter(req, res);
        }
        public void init(FilterConfig filterConfig) {}
        public void destroy() {}
    }


    从request 中的header中获取Origin,来做配置,最终成功并满足需求。

     

    其实有些东西还是一知半解,但是起码曲线救国也是一种解决方法。

     

     

     

    展开全文
  • STM32 BOOT模式设置

    2020-11-08 16:57:20
    第二中模式,boot0=1,boot1=0时,进入调试模式,可以通过烧录工具把修改好的代码所生成的HEX文件烧录到芯片里面,然后把boot0跳线跳回0,执行代码 第三种,boot0=1,boot1=1, 要注意的是,一般不使用内置SRAM启动...

    第一种模式boot0= 0,boot1=0或1(默认0),这种模式下,STM 32处于正常的读取芯片内部存储空间的程序即运行正常程序。
    在这里插入图片描述
    第二中模式,boot0=1,boot1=0时,进入调试模式,可以通过烧录工具把修改好的代码所生成的HEX文件烧录到芯片里面,然后把boot0跳线跳回0,执行代码
    在这里插入图片描述
    第三种,boot0=1,boot1=1, 要注意的是,一般不使用内置SRAM启动(BOOT1=1 BOOT0=1),因为SRAM掉电后数据就丢失,多数情况SRAM只是在调试时使用,也可以做其他一些用途,如做故障的局部诊断,写一段小程序载到SRAM中诊断板的其他电路,或用方法读 写板的Flash或EEPROM等,可以通过种方法解除内部Flash的读写保护,当然解除读写保护的同时Flash的内容也被自动清除,以防恶意的软件拷贝。
    在这里插入图片描述

    展开全文
  • STM32中Boot设置

    2020-07-19 20:32:02
    本文主要讲了一下关于STM32中Boot设置
  • spring boot线上设置日志打印级别

    千次阅读 2019-06-04 15:47:55
    spring boot线上设置日志打印级别 1.当我们项目打成jar包以后,我们用bat脚本启动 $ java -jar my.jar –debug 注意,我们可以直接在脚本里面加上–debug ,项目启动以后打印的就是debug日志 2.我们也可以在yml里面...

    spring boot线上设置日志打印级别


    1.当我们项目打成jar包以后,我们用bat脚本启动
    $ java -jar my.jar –debug
    注意,我们可以直接在脚本里面加上–debug ,项目启动以后打印的就是debug日志

    2.我们也可以在yml里面配置 debug=true,但是这个如果我们要改的话,需要改jar里面内容,不太适合。线上的话,还是在bat脚本里面直接写比较好

    展开全文
  • 好久之前看过的BOOT0与BOOT1设置问题

    千次阅读 2017-03-30 00:11:17
    好久之前看过关于BOOT0与BOOT1问题,用于在不同地方启动,这回又碰到了 stm32的flash读保护了。...ROM = 芯片内部的特定区域 不可改的 固化的 , 里面预置了Bootloader BOOT0=0时 不论 BOOT1等于多少,

    好久之前看过关于BOOT0与BOOT1问题,用于在不同地方启动,这回又碰到了  stm32的flash读保护了。。



    用户闪存 =  内置的flash  掉电不易失。


    SRAM = 芯片的内部的RAM 就是所谓的内存


    ROM = 芯片内部的特定区域  不可改的 固化的 , 里面预置了Bootloader  


    BOOT0=0时 不论 BOOT1等于多少,  都是从用户闪存启动的,也就是正常的工作模式。


    BOOT1=0  BOOT0=1 从ROM启动 这种模式启动的程序一般由厂家设置


    BOOT1=1 BOOT0=1 从 SRAM启动 这种模式一般用于 调试 因为掉电就消失了


    一般将 BOOT1=1  BOOT0=1   然后用 STM32 ST Utility  将flash 全部擦除 擦成 FF  之后全 置0  就 又能下程序了



    如果读保护了    BOOT1 = 0  BOOT0 = 1

    之后下载

    Flash Loader Demonstrator 擦除就ok了



    展开全文
  • STM32 BOOT0/BOOT1设置启动方式

    千次阅读 2020-03-17 09:35:46
    在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表: 1、Main Flash memory 是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载...
  • BIOS里BOOTbootmode设置成UEFI和Legacysupport有什么区别?各什么意思、作用?uefi开机时间短是么? 专业回答 BIOS中,UEFI和legacysupport是两种不同的引导方式, UEFI是新式的BIOS,legacy是传统BIOS。...
  • Spring Boot项目设置更改代码自动更新

    千次阅读 2019-11-12 14:12:48
    打开Edit Configurations... ...如果打开不是此页面,且没有On Update action 与 On frame deactivation 选择 删除此启动,找到Spring Boot启动类重新启动即可找到On Update action 与 On fram...
  • package ... import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner;...
  • spring-boot设置静态文件路径

    千次阅读 2019-04-10 16:13:53
    项目组拿了一个同事之前的一套bsm(后台管理系统)代码,基于spring-boot和angular的,前后台没有分离,遇到一个很神奇的问题,就是在eclipse中,更改静态文件html、js后可以自动热加载,但是在intellij里面却不行,...
  • 由于我们使用 SpringBoot 构建的工程,我们在 application.properties 里面设置了项目名称,也就是上下文路径: # 当前应用在部署后的应用名 server.contextPath=/edc 这样,前端在做 websocket 连接时,...
  • Spring-boot 字符集设置 解决乱码方案

    千次阅读 2018-05-02 11:49:13
    ???这样情况)下面给出spring-boot项目统一字符集设置方案:1、Spring Boot修改编码方法,在application.properties里面配置(我只是增加了以下三句,就解决从control...
  • 如果要使用配置的方式也很简单,上面这些是关于cache的配置,在spring boot官方文档最后的附录里面有。 再来测试,首先把缓存开启,它这个选项就是通过request headers里的CacheControl实现的。 然后刷新发现已经...
  • 使用spring-boot开发时,有时候程序没事,往往不经意会造成中文到前端变成乱码(?...在application.properties里面配置 spring.http.encoding.charset=UTF-8 spring.http.encoding.force=true spring.http.enc...
  • 上一篇Spring Boot Cache + redis 设置有效时间和自动刷新缓存,时间支持在配置文件中配置,说了一种时间方式,直接扩展注解的Value值,如: @Override @Cacheable(value = "people#${select.cache.timeout:1800}#...
  • 主要任务:在u-boot里面加入Android lk bootloader的一键烧写功能。 硬件平台:SEP6200测试板 unicore架构 /256M RAM/4G NandFlash  我们知道要在特定的平台上安装Android系统需要烧写的几个镜像文件,首先是...
  • 网上好多处理动态密码或...在这样的需求下,密码的处理都必须要程序员自己在程序中进行处理,以下两种方式是折腾多天后的可行的两种处理方法。 密码直接放在一个类里面,大家想如何处理就如何处理。 pom.xml ...
  • Jeecg-Boot 修改 table 里面的样式

    千次阅读 2020-08-22 18:01:55
    table 里面的数据是根据 data() 里面的数据直接显示在界面上的,那么如何在其展示的过程中修改其样式呢? html: script: 修改方法:使用插槽 第一步: 给插槽将该列的数据传递过去 第二步: 使用对应的插槽...
  • spring boot mail 发送 设置代理服务器

    千次阅读 2018-11-09 22:50:21
    背景: 公司使用spring cloud 微服务 docker + Rancher + drone + maven 自动化部署。...spring boot 封装了 JavaMail的类库 。 Spring Framework提供了一个使用JavaMailSender接口发送电子邮件的简单抽象 ...
  • 烧写完成之后我们需要启动,...int boot_linux(int argc, const cmd_args *argv) { read_nand((u_char *)0x40007800 , 7, 0x800000);//将boot.img读入到内存的0x40007800地址中 char *linux_cmd,*ramdisk_size; c
  • spring boot中全局设置时间格式

    千次阅读 2018-08-29 13:21:03
    在yml或者properties文件中设置,这里用的是yml spring: jackson: date-format: yyyy-MM-dd #如果使用字符串表示,用这行设置格式 timezone: GMT+8 serialization: write-dates-as-timestamps: false #使用...
  • 史上最全Spring Boot面试题(含答案)看完就是Spring Boot专家! 一.Spring Boot、Spring MVC 和 Spring 有什么区别? SpringFrame SpringFramework 最重要的特征是依赖注入。所有 SpringModules 不是依赖注入...
  • spring-boot获取yml里面的属性值

    千次阅读 2019-09-07 15:56:19
    } /** * 设置自定义yml位置 * * @return */ @Bean public static PropertySourcesPlaceholderConfigurer properties() { PropertySourcesPlaceholderConfigurer pspc = new PropertySourcesPlaceholderConfigurer()...
  • Spring boot 设置500 404错误的java方法

    千次阅读 2015-11-09 15:33:02
    刚刚接触到Spring boot 发现了他很多优点.逐渐喜欢上她了. 在使用中很多额外的配置都是使用java方式. 由于之前使用spring mvc 都是xml形式的,加上以前也没有学好.遇到了一些问题. 比如java 方式设置500 404错误,...
  • 不是文件接收,请求方式是post,post本身没有参数大小限制,但是tomcat给限制了,于是解决方式如下: 一、外置的tomcat 这个简单,直接在server.xml里面添加或者修改这句话: ,text/xml" maxPostSize="0" /> 修改...
  • Spring Boot 完整讲解

    万次阅读 多人点赞 2020-02-28 23:35:16
    SpringBoot学习笔记 文章写得比较详细,所以很长(105336 字数),可以参考目录 文章目录SpringBoot学习笔记@[toc]一、 Spring Boot 入门预:必须掌握的技术:1....环境准备Maven设置:Idea设置4.Spring Boot Hel...
  • 1.发现每个新建的springboot项目都有一个父依赖 <parent>...org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <versio...
  • spring boot应用启动原理分析

    万次阅读 多人点赞 2015-11-30 22:36:38
    spring boot quick start在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启动的,不需要另外配置一个Web Server。如果之前没有使用过spring boot可以通过下面...
  • spring boot 获取yml配置文件里面配置项   1&gt; 引入 spring-boot-configuration-processor 库 &lt;dependency&gt;  &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;...
  • 在使用spring-boot开发时,程序没事的时候,往往在不经意间造成中文乱码(????这样情况) Spring Boot修改编码方法: 1).在app...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 121,283
精华内容 48,513
关键字:

boot里面的设置