Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Tomcat7 servlet中为post请求启用CORS_Java_Angularjs_Eclipse_Tomcat_Servlets - Fatal编程技术网

Java 在Tomcat7 servlet中为post请求启用CORS

Java 在Tomcat7 servlet中为post请求启用CORS,java,angularjs,eclipse,tomcat,servlets,Java,Angularjs,Eclipse,Tomcat,Servlets,我使用Tomcat7在java动态web项目(EclipseEE)上运行servlet。 我已将以下段落(从)添加到我的web.xml文件中: 我不断得到以下错误代码: “无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。因此,不允许访问源“null”。响应的HTTP状态代码为403。” 我尝试了所有我能找到的解决方案,但没有任何帮助…请问有人能解决我的问题吗 您需要为CorsFilter

我使用Tomcat7在java动态web项目(EclipseEE)上运行servlet。 我已将以下段落(从)添加到我的web.xml文件中:

我不断得到以下错误代码: “无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。因此,不允许访问源“null”。响应的HTTP状态代码为403。”

我尝试了所有我能找到的解决方案,但没有任何帮助…请问有人能解决我的问题吗

您需要为CorsFilter添加“访问控制允许原点”值。现在Tomcat说,从您的来源,您无法访问这里。将此添加到CorsFilter配置:

<filter>
   <filter-name>CorsFilter</filter-name>
   <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
   //add below config
   <init-param>
        <param-name>cors.allowed.origins</param-name>
        <param-value>*</param-value>
    </init-param>

</filter>

<filter-mapping>
   <filter-name>CorsFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

克斯菲尔特
org.apache.catalina.filters.CorsFilter
//添加以下配置
科尔斯
*
克斯菲尔特
/*

因此,通过此配置,您可以确定允许从哪些域请求。您可以添加逗号分隔的域来访问您的资源,而不是*您可以添加逗号分隔的域。

嗨,朋友们,仅将tomcat从版本7更新到版本8.5就解决了原始解决方案的问题

app.controller("LoginControler", function($scope,$rootScope,$http) {
  $scope.submit = function () {
       $rootScope.ret = "clicked";
      var data = {
                CompanyName: $scope.CompanyName,
                UserName: $scope.UserName,
                Password: $scope.Password,

        };
        $http.post(URL, data).success(function(data, status) {
            $rootScope.ret = data;
        })
  }
});
<filter>
   <filter-name>CorsFilter</filter-name>
   <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
   //add below config
   <init-param>
        <param-name>cors.allowed.origins</param-name>
        <param-value>*</param-value>
    </init-param>

</filter>

<filter-mapping>
   <filter-name>CorsFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>