栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

RESTful Web服务:如何在Java中设置标头以接受Access-Control-Allow-Origin允许的XMLHttpRequest

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

RESTful Web服务:如何在Java中设置标头以接受Access-Control-Allow-Origin允许的XMLHttpRequest

在这里阅读有关您的问题CORS的信息:http : //enable-
cors.org/

检查此方法是否对您的getMsg()方法有帮助:

return Response.ok(output).header("Access-Control-Allow-Origin","*").build();

如果上述方法不起作用,请尝试将Jersey过滤器添加到您的服务中。创建过滤器类:

package your.package;public class CORSFilter implements ContainerResponseFilter {    @Override    public ContainerResponse filter(ContainerRequest creq, ContainerResponse cresp) {        cresp.getHttpHeaders().putSingle("Access-Control-Allow-Origin", "*");        cresp.getHttpHeaders().putSingle("Access-Control-Allow-Credentials", "true");        cresp.getHttpHeaders().putSingle("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS, HEAD");        cresp.getHttpHeaders().putSingle("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With");        return cresp;    }}

并稍后注册win web.xml:

<servlet><servlet-name>CORS Filter</servlet-name><servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param>    <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>    <param-value>your.package.CORSFilter</param-value> </init-param></servlet><servlet-mapping>    <servlet-name>CORS Filter</servlet-name>    <url-pattern>/webservices/*</url-pattern></servlet-mapping>

另一个解决方案是在资源中使用此代码来提供

OPTIONS
浏览器。将其放在您拥有@GET的班级中。

  @OPTIONS  @Path("/getsample")  public Response getOptions() {    return Response.ok()      .header("Access-Control-Allow-Origin", "*")      .header("Access-Control-Allow-Methods", "POST, GET, PUT, UPDATE, OPTIONS")      .header("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With").build();  }

如果没有这项工作,请尝试将

"*"
提供的“ Access-Control-Allow-
Origin”标头与您访问此资源的自定义域交换。Ig如果您
http://localhost::8080
使用这样的名称
("Access-Control-Allow-Origin", "http://localhost:8080")
而不是星号来调用它
"*"



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/486816.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号