国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

SpringMVC支持跨域訪問的CORS配置

2019-11-10 17:23:56
字體:
供稿:網(wǎng)友

        目前主流的跨域訪問技術(shù)有JSONP和CORS,JSONP的優(yōu)勢在于能夠支持較老版本的瀏覽器,弱勢在于只能處理GET的請求,而CORS的優(yōu)勢在于能處理所有類型的請求,但弱勢在于不能處理IE8以下版本的請求,說得比較笼統(tǒng),悉知。

        本文主要闡述在SPRingMVC中如何通過配置CORS來支持跨域訪問,而前端不需要做任何配置。

        以下是配置步驟:

1.Spring的版本建議采用4.2.0.RELEASE版本;

2.web.xml中加入過濾器配置;

    <!-- CORS過濾器 start -->    <filter>        <filter-name>cors</filter-name>        <filter-class>com.sdzn.filter.CorsFilter</filter-class>    </filter>    <filter-mapping>        <filter-name>cors</filter-name>        <url-pattern>/api/*</url-pattern>    </filter-mapping>    <!-- CORS過濾器 end -->3.加入過濾器配置類

package com.sdzn.filter;import org.springframework.stereotype.Component;import javax.servlet.*;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/** * CorsFileter 功能描述:CORS過濾器 * * @author RickyLee【l**@*.com.cn】 * @date 2017/2/9 11:24 */@Componentpublic class CorsFilter implements Filter {    @Override    public void init(FilterConfig filterConfig) throws ServletException {    }    @Override    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {        HttpServletResponse response = (HttpServletResponse) servletResponse;        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,Authorization");        response.setHeader("Access-Control-Allow-Credentials", "true");        filterChain.doFilter(servletRequest, servletResponse);    }    @Override    public void destroy() {    }}4.另起一個項目或頁面進行跨域測試;

<!DOCTYPE HTML><html><head><script type="text/Javascript" src="jquery-1.8.2.min.js"></script><script type="text/javascript">    $(function(){        //按鈕單擊時執(zhí)行        $("#testAjax").click(function(){              //取Ajax返回結(jié)果              //為了簡單,這里簡單地從文件中讀取內(nèi)容作為返回數(shù)據(jù)              htmlobj=$.ajax({url:"http://192.168.0.111:8080/api/v1/test",async:false});               //顯示Ajax返回結(jié)果               $("#myDiv").html(htmlobj.responseText);         });    });</script>    </head>    <body>        <div id="myDiv"><h2>通過 AJAX 改變文本</h2></div>        <button id="testAjax" type="button">Ajax改變內(nèi)容</button>    </body></html>如果頁面內(nèi)容有返回的json值,則跨域配置成功。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 原平市| 静安区| 松潘县| 高密市| 张掖市| 加查县| 甘德县| 福贡县| 新竹市| 富顺县| 新晃| 灵丘县| 荣成市| 德化县| 邵东县| 海晏县| 天峨县| 许昌市| 鄄城县| 诏安县| 镇原县| 随州市| 西青区| 云阳县| 太原市| 大厂| 张家港市| 闻喜县| 都江堰市| 海淀区| 卢湾区| 海丰县| 申扎县| 陇西县| 闸北区| 丹棱县| 白山市| 株洲县| 武夷山市| 土默特右旗| 福贡县|