新建cors filter文件,

  1. package cn.ac.iscas.pebble.ufe.tools;
  2.  
  3. import java.io.IOException;
  4. import javax.servlet.Filter;
  5. import javax.servlet.FilterChain;
  6. import javax.servlet.FilterConfig;
  7. import javax.servlet.ServletException;
  8. import javax.servlet.ServletRequest;
  9. import javax.servlet.ServletResponse;
  10. import javax.servlet.http.HttpServletResponse;
  11. import org.springframework.stereotype.Component;
  12.  
  13. @Component
  14. public class SimpleCORSFilter implements Filter {
  15.  
  16. public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
  17. HttpServletResponse response = (HttpServletResponse) res;
  18. response.setHeader("Access-Control-Allow-Origin", "*");
  19. response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
  20. response.setHeader("Access-Control-Max-Age", "3600");
  21. response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
  22. chain.doFilter(req, res);
  23. }
  24.  
  25. public void init(FilterConfig filterConfig) {}
  26.  
  27. public void destroy() {}
  28.  
  29. }

然后在web.xml里添加如下内容:

  1. <filter>
  2. <filter-name>cors</filter-name>
  3. <filter-class>cn.ac.iscas.pebble.ufe.tools.SimpleCORSFilter</filter-class>
  4. </filter>
  5.  
  6. <filter-mapping>
  7. <filter-name>cors</filter-name>
  8. <url-pattern>/*</url-pattern>
  9. </filter-mapping>

此为,在代码返回的地方,需要给response添加header,如下:

response.addHeader("Access-Control-Allow-Origin", "*");

至此即可访问:demo如下:

  1. <html>
  2. <head>
  3. </head>
  4. <body height="100%" width="100%">
  5. <table class="bordered" id="devicetable">
  6. <thead>
  7. <tr>
  8. <th width="20%">check</th>
  9. <th width="30%">DeviceID</th>
  10. <th width="50%">DeviceName</th>
  11. </tr>
  12. </thead>
  13. <tbody />
  14. </table>
  15.  
  16. <script type="text/javascript">
  17.  
  18. var xmlhttp;
  19.  
  20. if (window.XMLHttpRequest)
  21. {
  22. xmlhttp=new XMLHttpRequest();
  23. }
  24. else
  25. {
  26. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  27. }
  28. xmlhttp.onreadystatechange=function()
  29. {
  30. if (xmlhttp.readyState==4 && xmlhttp.status==200)
  31. {
  32. xmlDoc = xmlhttp.responseXML;
  33.  
  34. y=xmlDoc.getElementsByTagName("deviceid");
  35. x=xmlDoc.getElementsByTagName("devicename");
  36.  
  37. for(i=0; i<x.length;i++)
  38. {
  39. var tr1=document.getElementById('devicetable').insertRow();
  40. var c0=tr1.insertCell(0);
  41. var c1=tr1.insertCell(1);
  42. var c2=tr1.insertCell(2);
  43. c0.innerHTML="<input type='checkbox' name='ck'/>";
  44. c1.innerHTML=y[i].firstChild.nodeValue;
  45. c2.innerHTML=x[i].firstChild.nodeValue;
  46. }
  47.  
  48. }
  49. }
  50. xmlhttp.open("GET","http://localhost:8080/UFE/service/monitorydevice",true);
  51. xmlhttp.send();
  52.  
  53. </script>
  54. </body>
  55. </html>

Spring MVC Rest 支持CORS的更多相关文章

  1. Spring MVC 4.2 CORS 跨域访问

    跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求.比如说,域名A(http://domaina.examp ...

  2. Spring Boot全局支持CORS(跨源请求)

    import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet. ...

  3. Spring MVC添加支持Http的delete、put请求!(HiddenHttpMethodFilter)

    浏览器form表单只支持GET与POST请求,而DELETE.PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET.POST.PUT ...

  4. Spring Boot全局支持CORS(跨源请求)的配置方法

    http://blog.csdn.net/zhangchao19890805/article/details/53893735

  5. Spring MVC 4.2 增加 CORS 支持

    转自:http://blog.csdn.net/z69183787/article/details/53102112 Spring MVC 4.2 增加 CORS 支持 跨站 HTTP 请求(Cros ...

  6. Spring MVC配置CORS(解决跨域请求)

    1. CORS 简介 同源策略(same origin policy)是浏览器安全的基石.在同源策略的限制下,非同源的网站之间不能发送 ajax 请求的. 为了解决这个问题,w3c 提出了跨源资源共享 ...

  7. Spring MVC 与 CORS

    1. CORS 简介 同源策略(same origin policy)是浏览器安全的基石.在同源策略的限制下,非同源的网站之间不能发送 ajax 请求的. 为了解决这个问题,w3c 提出了跨源资源共享 ...

  8. Spring MVC学习总结(10)——Spring MVC使用Cors跨域

    跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求.比如说,域名A(http://domaina.examp ...

  9. Spring MVC内置支持的4种内容协商方式【享学Spring MVC】

    每篇一句 十个光头九个富,最后一个会砍树 前言 不知你在使用Spring Boot时是否对这样一个现象"诧异"过:同一个接口(同一个URL)在接口报错情况下,若你用rest访问,它 ...

随机推荐

  1. NYOJ题目766回文数

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsgAAAHaCAIAAACSPygsAAAgAElEQVR4nO3dO3LqSheG4X8S5AyEWB ...

  2. mac版的PS和DW破解版安装

    到网上找到破解版的安装文件,一般是一个dmg安装文件,和一个补丁文件,安装的时候,要先断网,然后点击软件,选试用安装,安装完毕后,不要打开软件,直接关闭掉,然后到应用程序里找到软件图标,右击打开包文件 ...

  3. JAVA数据库基本操作 (转)

    JAVA数据库基本操作指南   Java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接. 一.取得数据库连接 1.用DriverManager取数据库连接 ...

  4. 使用dynatrace+showslow进行前端性能测试

    1.背景 应用的性能测试与优化目前主要停留在服务器端的反馈,而对于前端性能标准的研究与测试相对比较空白,缺乏统一的标准与工具.众所周知,浏览器html组件的下载及渲染性能直接影响最终的用户体验,目前应 ...

  5. vim、gvim加载文件慢

    1. strace -f -T -o vim.strace vim 2. vim --startuptime "vim-time.txt" 3. gvim -f

  6. 谈谈Delph中的类和对象2---类可以理解成一种特殊的数据结构、类型转换

    三.类可以理解成一种特殊的数据结构 我们知道数据类型可以进行强制类型转换,类既然可以理解成一种数据类型,那么它也应该可以进行类型转换.比如下面代码为一个按钮(Button1)的单击事件 procedu ...

  7. poj 3264:Balanced Lineup(线段树,经典题)

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 32820   Accepted: 15447 ...

  8. jquery获取和设置元素高度宽度

    jquery获取和设置元素高度宽度 1.height()/ width() 取得第一个匹配元素当前计算的高度/宽度值(px) height(val)/ width(val) 为每个匹配的元素设置CSS ...

  9. 【leetcode】plus One

    问题描述: Given a non-negative number represented as an array of digits, plus one to the number. The dig ...

  10. [Mobile] 手机浏览器输入框-数字输入框

    手机浏览器的输入框,一直都是以web的方式进行开发的,没有关注到用户体验,领导提出了输入框要弹出数字输入框,想来应该有这种技术能实现.   搜索之后发现可以使用type="number&qu ...