亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

JAVA通過Filter實現允許服務跨域請求的方法

2024-07-14 08:42:56
字體:
來源:轉載
供稿:網友

概念

 在 HTML 中,<a>, <form>, <img>, <script>, <iframe>, <link> 等標簽以及 Ajax 都可以指向一個資源地址, 而所謂的跨域請求就是指:當前發起請求的域與該請求指向的資源所在的域不一樣。

 這里的域指的是這樣的一個概念:我們認為若協議 + 域名 + 端口號均相同,那么就是同域即我們常說的瀏覽器請求的同源策略。

Jsonp

 在前后端分離的項目中,會經常遇到需要跨域請求的問題。跨域請求有多種方式。之前接觸過jsonp的方式。
 這種方式是在前端頁面進行跨域請求兼容性好,但安全性比較差,只支持GET請求。

CORS

 Cross-Origin Resource Sharing 即跨源資源共享 。是一個新的 W3C 標準,它新增的一組HTTP首部字段,允許服務端其聲明哪些源站有權限訪問哪些資源。

 也就是說它允許瀏覽器向聲明了 CORS 的跨域服務器,發出 XMLHttpReuest 請求,從而克服 Ajax 只能同源使用的限制。

Http頭部字段介紹

 Access-Control-Allow-Origin:響應首部中可以攜帶這個頭部表示服務器允許哪些域可以訪問該資源
 Access-Control-Allow-Methods:該首部字段用于預檢請求的響應,指明實際請求所允許使用的HTTP方法
 Access-Control-Allow-Headers:該首部字段用于預檢請求的響應。指明了實際請求中允許攜帶的首部字段
 Access-Control-Max-Age:該首部字段用于預檢請求的響應,指定了預檢請求能夠被緩存多久
 Access-Control-Allow-Credentials:該字段可選。它的值是一個布爾值,表示是否允許發送Cookie。默認情況下,Cookie不包括在CORS請求之中。設為true,即表示服務器明確許可,Cookie可以包含在請求中,一起發給服務器

具體實現

這里通過過濾器的方式對請求進行攔截。設置http的響應header來實現。

public class CrossFilter implements Filter {  protected Logger logger = LoggerFactory.getLogger(getClass());  @Override  public void init(FilterConfig filterConfig) throws ServletException {  }  @Override  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {    HttpServletRequest request=(HttpServletRequest)servletRequest;    HttpServletResponse response=(HttpServletResponse)servletResponse;    logger.info("【允許跨域訪問】refererUrl【{}】", request.getHeader("Referer"));    //允許跨域訪問    response.setContentType("text/html;charset=UTF-8");    response.setHeader("Access-Control-Allow-Origin", "https://monline.01zhuanche.com");    response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");    response.setHeader("Access-Control-Max-Age", "0");    response.setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,Authorization,SessionToken,JSESSIONID,token");    response.setHeader("Access-Control-Allow-Credentials", "true");    response.setHeader("XDomainRequestAllowed","1");    filterChain.doFilter(request, response);  }  public static String getRefererUrl(HttpServletRequest request){    String returnValue = null;    if(request != null && !StringUtils.isEmpty(request.getHeader("Referer"))) {      returnValue = request.getHeader("Referer");      String[] urls = returnValue.split("/");      if(urls != null && urls.length > 3) {        returnValue = urls[0] + "//" + urls[2];      }    }    return returnValue;  }  @Override  public void destroy() {  }}

此外需要對我們的過濾器進行配置,在web.xml文件中添加如下配置:

<filter>  <filter-name>crossDomainFilter</filter-name>  <filter-class>com.open.advertise.api.cooperation.filter.CrossFilter</filter-class>  <init-param>   <param-name>targetFilterLifecycle</param-name>   <param-value>true</param-value>  </init-param> </filter> <filter-mapping>  <filter-name>crossDomainFilter</filter-name>  <url-pattern>/*</url-pattern> <!--可以針對某個接口進行限制--> </filter-mapping>

以上,對于設置的跨域請求的域名就可以進行跨域訪問啦。

以上所述是小編給大家介紹的JAVA通過Filter實現允許服務跨域請求,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国内自产拍在线观看| 一区二区三区四区精品| 日本高清不卡在线| 精品一区精品二区| 一区二区三区久久精品| 日韩人体视频一二区| 欧美第一黄网免费网站| 久久亚洲成人精品| 在线精品视频视频中文字幕| 日韩大片在线观看视频| 欧美在线激情视频| 狠狠久久亚洲欧美专区| 色偷偷av一区二区三区乱| 亚洲成人久久一区| 欧美又大又硬又粗bbbbb| 成人网欧美在线视频| 欧美一区二区三区图| 深夜福利日韩在线看| 国产精品日韩在线| 欧美孕妇性xx| 久久中文字幕在线视频| 美女福利精品视频| 91在线网站视频| 久久久久久久一区二区| 欧美又大又粗又长| 久久精品视频99| 欧美一级淫片aaaaaaa视频| 欧美国产日韩精品| 粉嫩老牛aⅴ一区二区三区| 日韩国产精品亚洲а∨天堂免| 欧美激情一区二区三区久久久| 日韩亚洲成人av在线| 欧美精品精品精品精品免费| 亚洲a中文字幕| 91影视免费在线观看| 亚洲欧洲第一视频| 久久这里只有精品99| 高清欧美性猛交xxxx黑人猛交| 9.1国产丝袜在线观看| 91社影院在线观看| 国产精品久久久久一区二区| 国产精品高潮呻吟久久av黑人| 欧美一区深夜视频| 久久最新资源网| 国产视频精品va久久久久久| 日韩电影免费观看中文字幕| 亚洲精品免费在线视频| 国产精品精品视频一区二区三区| 国产精品极品美女在线观看免费| www日韩中文字幕在线看| 中文字幕亚洲二区| 国产精品免费久久久久久| 亚洲美女福利视频网站| 日本精品va在线观看| 亚洲欧美在线一区二区| 国产精品美女主播在线观看纯欲| 国产成人综合久久| www.亚洲天堂| 成人激情免费在线| 欧美日韩国产中文精品字幕自在自线| 国产一区二区欧美日韩| 岛国av午夜精品| 日韩高清电影免费观看完整版| 亚洲精品免费网站| 日韩中文在线视频| 国产精品福利在线观看网址| 亚洲影院色在线观看免费| 成人写真福利网| 国产精品欧美日韩一区二区| 亚洲欧美成人一区二区在线电影| 久久精品国产精品亚洲| 日韩在线免费观看视频| 国内揄拍国内精品| 亚洲第一网中文字幕| 欧美日韩国产中文字幕| 中文字幕日韩欧美在线| 欧美中文字幕在线观看| 青青精品视频播放| 日韩va亚洲va欧洲va国产| 欧美激情精品久久久久久免费印度| 亚洲欧美日本另类| 在线观看视频亚洲| 超在线视频97| 在线成人一区二区| 色综合久久中文字幕综合网小说| 亚洲色图五月天| 福利视频第一区| 国产日韩欧美在线| 91精品久久久久久综合乱菊| 久久久免费高清电视剧观看| 福利二区91精品bt7086| 狠狠久久亚洲欧美专区| 国产精品一区av| 久久久午夜视频| 日韩欧美在线一区| 国产成人激情小视频| 国产激情久久久| 欧美天天综合色影久久精品| 91在线播放国产| 午夜精品蜜臀一区二区三区免费| 日韩欧美有码在线| 国产日韩在线亚洲字幕中文| 欧美激情啊啊啊| 国产精品久久久久久久电影| 日韩成人av在线播放| 久久国产精品电影| 久久久免费在线观看| 亚洲色图50p| 在线看欧美日韩| 午夜精品一区二区三区在线视| 精品久久久久久中文字幕大豆网| 久久久黄色av| 亚洲jizzjizz日本少妇| 91精品国产电影| 黄色成人av在线| 国产精品久久久久久久久久东京| 深夜福利91大全| 亚洲国产精品一区二区久| 国产日韩精品入口| 欧美一区亚洲一区| 亚洲高清福利视频| 亚洲电影免费观看高清完整版在线| 久久99精品视频一区97| 久久久免费高清电视剧观看| 黑人狂躁日本妞一区二区三区| 精品香蕉一区二区三区| 亚洲性生活视频在线观看| 久久亚洲精品视频| 91在线视频精品| 亚洲国产精品悠悠久久琪琪| 亚洲黄色www| 68精品国产免费久久久久久婷婷| 久久久国产精品一区| 狠狠综合久久av一区二区小说| 亚洲在线www| 最近2019中文免费高清视频观看www99| 久久香蕉精品香蕉| 精品久久国产精品| 91久久嫩草影院一区二区| 欧美一级淫片丝袜脚交| 久久久成人精品| 国产精品成人品| 成人网在线免费看| 91在线观看免费观看| 亚洲3p在线观看| 日本精品视频在线观看| 国产精品高潮视频| 日韩在线观看免费网站| 亚洲3p在线观看| 综合激情国产一区| 亚洲黄色www网站| 久久av.com| 日韩hd视频在线观看| 国产精品久久99久久| 欧美高跟鞋交xxxxhd| 在线播放亚洲激情| 日韩免费看的电影电视剧大全| 日韩精品视频观看| 国产剧情日韩欧美| 亚洲成色www8888| 自拍偷拍亚洲在线| 日韩有码在线电影| 亚洲图片在线综合| 国产精品一区二区在线|