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

首頁 > 學院 > 開發設計 > 正文

SpringMVC支持跨域訪問的CORS配置

2019-11-09 19:35:32
字體:
來源:轉載
供稿:網友

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

        本文主要闡述在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(){        //按鈕單擊時執行        $("#testAjax").click(function(){              //取Ajax返回結果              //為了簡單,這里簡單地從文件中讀取內容作為返回數據              htmlobj=$.ajax({url:"http://192.168.0.111:8080/api/v1/test",async:false});               //顯示Ajax返回結果               $("#myDiv").html(htmlobj.responseText);         });    });</script>    </head>    <body>        <div id="myDiv"><h2>通過 AJAX 改變文本</h2></div>        <button id="testAjax" type="button">Ajax改變內容</button>    </body></html>如果頁面內容有返回的json值,則跨域配置成功。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 揭东县| 旌德县| 保亭| 昔阳县| 沽源县| 廉江市| 海南省| 吉首市| 鄯善县| 建阳市| 铜陵市| 厦门市| 巴中市| 全州县| 大田县| 清苑县| 定边县| 平和县| 东明县| 微博| 汝州市| 宜君县| 寿阳县| 共和县| 杭州市| 潼关县| 沁水县| 海淀区| 德令哈市| 肥城市| 吉水县| 北辰区| 花莲县| 武清区| 印江| 九龙城区| 洪江市| 土默特左旗| 扶沟县| 太保市| 喀喇沁旗|