首页 > 代码库 > Spring MVC Rest 支持CORS
Spring MVC Rest 支持CORS
新建cors filter文件,
package cn.ac.iscas.pebble.ufe.tools;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.HttpServletResponse;import org.springframework.stereotype.Component;@Componentpublic class SimpleCORSFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; 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"); chain.doFilter(req, res); } public void init(FilterConfig filterConfig) {} public void destroy() {}}
<filter> <filter-name>cors</filter-name> <filter-class>cn.ac.iscas.pebble.ufe.tools.SimpleCORSFilter</filter-class> </filter> <filter-mapping> <filter-name>cors</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
此为,在代码返回的地方,需要给response添加header,如下:
response.addHeader("Access-Control-Allow-Origin", "*");
至此即可访问:demo如下:
<html><head></head><body height="100%" width="100%"><table class="bordered" id="devicetable"> <thead> <tr> <th width="20%">check</th> <th width="30%">DeviceID</th> <th width="50%">DeviceName</th> </tr> </thead> <tbody /> </table> <script type="text/javascript">var xmlhttp;if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); }else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { xmlDoc = xmlhttp.responseXML; y=xmlDoc.getElementsByTagName("deviceid"); x=xmlDoc.getElementsByTagName("devicename"); for(i=0; i<x.length;i++) { var tr1=document.getElementById(‘devicetable‘).insertRow(); var c0=tr1.insertCell(0); var c1=tr1.insertCell(1); var c2=tr1.insertCell(2); c0.innerHTML="<input type=‘checkbox‘ name=‘ck‘/>"; c1.innerHTML=y[i].firstChild.nodeValue; c2.innerHTML=x[i].firstChild.nodeValue; } } }xmlhttp.open("GET","http://localhost:8080/UFE/service/monitorydevice",true);xmlhttp.send();</script></body></html>
Spring MVC Rest 支持CORS
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。