激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|

服務器之家 - 編程語言 - JAVA教程 - Cors實現java后端完全跨域實例

Cors實現java后端完全跨域實例

2020-10-31 23:35lifereader JAVA教程

本篇文章主要介紹了Cors實現java后端完全跨域實例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

這篇文章很詳細的介紹了JS的跨域,給出的解決方案是springboot的方式,假如不用spring boot 或者 spring版本低于4.2就需要自己實現;

參考了spring boot的實現方式,并有所簡化,代碼如下:

java" id="highlighter_233447">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package com.lvluo.web.filter.CorsFilter;
 
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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.springframework.http.HttpHeaders;
 
public class CorsFilter implements Filter {
 
 public static final String ACCESS_CONTROL_REQUEST_METHOD = "Access-Control-Request-Method";
 
 public static final String OPTIONS = "OPTIONS";
 
 public void doFilter(ServletRequest request, ServletResponse response,
  FilterChain chain) throws IOException, ServletException {
 
 HttpServletRequest httpRequest = (HttpServletRequest) request;
 HttpServletResponse httpResponse = (HttpServletResponse) response;
 
 if (isCorsRequest(httpRequest)) {
  httpResponse.setHeader("Access-Control-Allow-Origin", "*");
  httpResponse.setHeader("Access-Control-Allow-Methods",
   "POST, GET, PUT, DELETE");
  httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
  // response.setIntHeader("Access-Control-Max-Age", 1728000);
  httpResponse
   .setHeader(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept, Accept-Encoding, Authorization");
  if (isPreFlightRequest(httpRequest)) {
  return;
  }
 }
 chain.doFilter(request, response);
 }
 
 public void init(FilterConfig filterConfig) {
 }
 
 public void destroy() {
 }
 
 public boolean isCorsRequest(HttpServletRequest request) {
 return (request.getHeader(HttpHeaders.ORIGIN) != null);
 }
 
 /**
 * Returns {@code true} if the request is a valid CORS pre-flight one.
 */
 public boolean isPreFlightRequest(HttpServletRequest request) {
 return (isCorsRequest(request) && OPTIONS.equals(request.getMethod()) && request
  .getHeader(ACCESS_CONTROL_REQUEST_METHOD) != null);
 }
}

接著在web.xml配置filter即可

?
1
2
3
4
5
6
7
8
<filter>
 <filter-name>corsFilter</filter-name>
 <filter-class>com.lvluo.web.filter.CorsFilter</filter-class>
</filter>
<filter-mapping>
 <filter-name>corsFilter</filter-name>
 <url-pattern>/api/*</url-pattern>
</filter-mapping>

前端測試的JS代碼,其中客戶端的

?
1
2
3
4
5
6
7
8
9
10
11
$.ajax({
  headers : {
   'Authorization' :'Bearer iBoxSO9QdrHR0'
  },
  url: 'http://localhost:8080/service/api/ping',
  type: 'GET',
  dataType: 'json',
  success : function(result){
   $("#result").html(result.code);
  }
  })

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://my.oschina.net/lifereader/blog/909524

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 网站毛片| 国产免费观看av | 免费在线成人网 | 一区二区三区国产视频 | 久久久久久久一区二区 | 福利免费在线 | 一级做a爱片久久毛片a高清 | 午夜视频福利 | 九九综合九九 | 欧美日韩精品一二三区 | 双性帝王调教跪撅打屁股 | 亚洲天堂第一页 | 亚洲午夜在线 | 羞羞视频免费网站男男 | 精品一区二区久久久久久久网精 | 欧美 亚洲 视频 | 久久国产精品二国产精品中国洋人 | 99视频网址| 久久久青青草 | 欧美粗暴analvideos | 国产999视频在线观看 | 免费国产在线视频 | 久久九九热re6这里有精品 | 午夜热门福利 | 久久日韩在线 | 精品国产三级a | 精品国产一区二区三区天美传媒 | 亚洲精品动漫在线观看 | 久久网国产精品 | 99视频有精品视频高清 | 一区二区三区在线观看免费视频 | 国产一区视频在线免费观看 | 亚洲国产高清视频 | 九九午夜 | 日韩一级片毛片 | www久| 91网站在线观看视频 | 最新在线黄色网址 | 在线看免费的a | 欧美国产日韩在线观看成人 | 国产精品成人av片免费看最爱 |