yujunyi的博客

  • 首页

  • 分类

  • 归档

跨域(二):CORS 解决跨域问题

发表于 2018-07-31 | 分类于 spring mvc

在上一篇 文章 中,讲到了利用 JSONP 来解决跨域问题。

由于 JSONP 只支持 GET 请求 ,并且前后端代码都需要改动,因此推荐利用 CORS 来解决跨域问题。

CORS 简介

CORS 是一个 W3C 标准,全称是“跨域资源共享”(Cross-origin resource sharing)。

它允许浏览器向跨源服务器,发出 XMLHttpRequest 请求,从而克服了 AJAX 只能同源使用的限制。

更多的介绍可以看阮一峰老师的 博文。

阅读全文 »

跨域(一):JSONP 解决跨域问题

发表于 2018-07-31 | 分类于 spring mvc

跨域

协议、域名、端口都相同才算同域,否则就是跨域。

浏览器为了安全考虑(同源策略),不允许 axaj 跨域获取数据。浏览器会报错 xxx has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 。

但是可以跨域获取文件内容,例如 script 标签、 img 标签可以跨域使用,利用这一点,就可以用 JSONP 进行跨域请求,解决跨域问题。

JSONP

JSONP ( JSON with Padding ) 是 json 的一种”使用模式”,可以让网页从别的域名(网站)那获取资料,即跨域读取数据。

JSONP 由两部分组成:回调函数+数据 。

JSONP 的原理就是动态添加一个 script 标签,而 script 标签的 src 属性是没有跨域的限制的。

阅读全文 »

spring mvc 异步调用 @Async

发表于 2018-07-20 | 分类于 spring mvc

定义

“异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。

同步调用

通过一个例子,来看下同步调用。 写了一个 TaskService ,里面有三个方法,分别模拟耗时2秒、3秒、4秒的操作。

阅读全文 »

spring mvc 多数据源配置(二):利用AOP手动切换

发表于 2018-07-19 | 分类于 spring mvc

背景

spring mvc 多数据源还有一种实现方式,利用 AOP 进行手动切换。

基本原理是,我们自己定义一个 DataSource 类 DynamicDataSource ,来继承 AbstractRoutingDataSource ,然后在配置文件中向 DynamicDataSource 注入两个数据源,然后通过 AOP 来灵活配置。

阅读全文 »

spring mvc 多数据源配置(一):根据package配置不同的数据源

发表于 2018-07-18 | 分类于 spring mvc

背景

有时候项目中可以需要连接两个数据库。因此就需要用到多数据源配置。

原理就是配置两个dataSource,两个entityManagerFactory分别使用不同的dataSource,并设置不同的package扫描路径。

阅读全文 »

Lombok

发表于 2018-07-11 | 分类于 IDE

Lombok 简介

Lombok 是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。官方地址:https://projectlombok.org

简单地说,Lombok可以通过注解,来自动生成 gettser 、 setter 、 toString 、 equals 等方法。

阅读全文 »

热部署工具 JRebel :MyEclipse 篇

发表于 2018-07-05 | 分类于 IDE

热部署(Hotswap)和 JRebel

热部署是在不重启 Java 虚拟机的前提下,能自动侦测到 class 文件的变化,更新运行时 class 的行为。

目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。对于某些大型的应用来说,每次的重启都需要花费大量的时间成本。

JRebel是一个工具,可以监控磁盘上实际已编译的 class 文件,无论何时只要有文件被更新就更新类,从而实现了对方法体修改的热部署。

阅读全文 »

热部署工具 JRebel :IntelliJ IDEA 篇

发表于 2018-07-05 | 分类于 IDE

上一篇文章讲到了在 MyEclipse 下安装 JRebel ,从而实现热部署。具体原理及安装方式可以移步至 热部署工具 JRebel —— MyEclipse 篇 进行查看。

本文介绍在 IntelliJ IDEA 下安装 JRebel 。

阅读全文 »
123

yujunyi

yujunyi的博客

28 日志
7 分类
© 2020 yujunyi
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Muse v6.5.0
苏ICP备18040805号