当使用jQuery Ajax post请求时可能会遇到类似这样的错误提示

XMLHttpRequest cannot oad http://xxxxxx. Origin http://xxxxxx is not allowed by Access-Control-Allow-Origin.

这是Ajax跨域访问权限的问题,服务器端不接受来自另一个不同IP地址的由脚本文件发出的http请求。解决这个问题需要在服务器端进行配置使服务器端可以接受来自不同域的脚本文件的http请求。一个简单的解决方法是在服务器端配置Jetty Cross Origin Filter。

首先你需要下载jetty-servlets.jar。下载地址http://central.maven.org/maven2/org/eclipse/jetty/jetty-servlets/ 。然后将jetty-servlets.jar导入到WEB-INF/lib文件夹。最后在web.xml文件配置一些简单的参数就可以使服务器端允许跨域访问。一个典型的配置是这样的:

技术分享
1 <web-app>
2
3 <filter>
4
5 <filter-name>cross-origin</filter-name>
6
7 <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
8
9 <init-param>
10
11 <param-name>allowedOrigins</param-name>
12
13 <param-value>*</param-value>
14
15 </init-param>
16
17 <init-param>
18
19 <param-name>allowedMethods</param-name>
20
21 <param-value>GET,POST,OPTIONS,DELETE,PUT,HEAD</param-value>
22
23 </init-param>
24
25 <init-param>
26
27 <param-name>allowCredentials</param-name>
28
29 <param-value>true</param-value>
30
31 </init-param>
32
33 <init-param>
34
35 <param-name>allowCredentials</param-name>
36
37 <param-value>true</param-value>
38
39 </init-param>
40
41 </filter>
42
43 <filter-mapping>
44
45 <filter-name>cross-origin</filter-name>
46
47 <url-pattern>/rest/*</url-pattern>
48
49 </filter-mapping>
50
51 </web-app>
Jetty Cross Origin配置方法
接下来解释参数的具体意义:

allowedOrigins: 允许跨域访问的域名或链接地址,多个地址用逗号分隔,默认值为"*", 表示接受来自所有域的访问请求。

allowedMethods: 可接受的http请求方法,多个方法用逗号分隔,默认为GET, PSOT, HEAD.

allowCredentials: 是否允许受信任的请求访问资源,默认为true。

有关其他详细配置可以参考官方文档:

http://www.eclipse.org/jetty/documentation/current/cross-origin-filter.html

CrossOriginFilter的更多相关文章

  1. jetty 最后版本类库树, 基本上大多数应用都够了

    d:\jetty-distribution-8.1.17.v20150415\lib\annotations\javax.annotation-1.1.0.v201108011116.jarjavax ...

  2. cometd的服务器配置

    CometDServlet必须在web.xml中进行配置,如下: <servlet>        <servlet-name>cometd</servlet-name& ...

  3. 深入了解 Dojo 的服务器推送技术

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  4. 基于CORS的geoserver同源访问策略

    这个问题理顺整个2天.终于攻克.记录下来. 1.下载文件 首先下载cors压缩包,解压,得到的是org/mortbay/servlets/CrossOriginFilter.class文件,把此文件拷 ...

  5. Java跨域设置

    Access-Control-Allow-Origin 为允许哪些Origin发起跨域请求. 这里设置为"*"表示允许所有,通常设置为所有并不安全,最好指定一下. Access-C ...

  6. java SSM 解决跨域问题

    什么是跨域 跨域是指从一个域名的网页去请求另一个域名的资源.比如从www.baidu.com 页面去请求 www.google.com 的资源.跨域的严格一点的定义是:只要 协议,域名,端口有任何一个 ...

  7. dropwizard使用cors支持跨域浏览器取不到自定义header问题

    dropwizard支持cors的配置如下: public void run(Configuration conf, Environment environment) { // Enable CORS ...

  8. 【Access-Control-Allow-Origin】跨域问题

    [前言] 在实际项目中,可能是多个项目共同完成某个功能,他们之间需要实现数据的交互.这样就会需要有跨域的问题. 比如,发布在不同电脑上的不同项目之间,用不同语言开发的项目之间…… [JSONP] 当使 ...

  9. 关于后台程序java报错问题解决

    HTTP Status – Internal Server Error Type Exception Report Message Handler processing failed; nested ...

随机推荐

  1. 转专业后对于C语言补修的一些体会(1)

    在转入软件工程后,原来的C语言程序设计只有三学分,而信息学院的C语言程序设计有四学分.迫于无奈的我只能再补修一遍C语言,自我认为大一对于C语言的学习已经基本足够,但我发现信息学院用的是不一样的书后,对 ...

  2. 【Hibernate 一对多】

    OneToMany public class OneToMany { @Test public void testAdd1() { SessionFactory sessionFactory = nu ...

  3. 【PAT甲级】1040 Longest Symmetric String (25 分)(cin.getline(s,1007))

    题意: 输入一个包含空格的字符串,输出它的最长回文子串的长度. AAAAAccepted code: #define HAVE_STRUCT_TIMESPEC #include<bits/std ...

  4. thymeleaf模板引擎简介

    一:thymeleaf 学习笔记---http://www.blogjava.net/bjwulin/articles/395185.html thymeleaf是一个支持html原型的自然引擎,它在 ...

  5. [C++基本语法:从菜鸟变成大佬系列,就像1,2,3那么简单](七):C++的修饰符

    修饰符是什么? C++允许char,int和double数据类型在它们之前有修饰符.修饰符用于改变基本类型的含义,以便更精确地满足各种情况的需要. 这里列出了数据类型修饰符: signed unsig ...

  6. Python 中的类与对象 初认识

    一:类的声明 1类的关键字: 从第一天第一个项目起我们就接触过关键字,比如False True is not None return for while elif else import等等,这是语言 ...

  7. 「学习笔记」FFT 之优化——NTT

    目录 「学习笔记」FFT 之优化--NTT 前言 引入 快速数论变换--NTT 一些引申问题及解决方法 三模数 NTT 拆系数 FFT (MTT) 「学习笔记」FFT 之优化--NTT 前言 \(NT ...

  8. BugkuCTF解题Web基础(一)

    Web2 打开链接看见一张动图,猜测flag应该就在网页前端源码里面 没有问题 计算器 典型的修改前端代码题目,题目让你计算结果,但只能填写一位数字. f12打开控制台,改代码maxlength we ...

  9. static的特性

    1,static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法.这实际上正是static ...

  10. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:强调

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...