2017-02-07 18 views
1

私はJava(eclipse ee)の動的Webプロジェクトでサーブレットを実行するためにtomcat 7を使用しています。私はjsの次の角のコードを使用してChromeからPOSTリクエストを使用しようとしていますTOMCATでCORSを有効にする7サーブレットの投稿要求

<filter> 
<filter-name>CorsFilter</filter-name> 
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class> 
</filter> 
<filter-mapping> 
<filter-name>CorsFilter</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping>" 

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; 
     }) 
    } 
}); 

私は私のweb.xmlに追加した は(https://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter/Introductionから)次の段落を提出します "XMLHttpRequestはhttp://localhost:8080/Project-FrontEnd/ServletUsersをロードできません。プリフライト要求に対する応答がアクセス制御チェックを通過しません:要求されたリソースに 'Access-Control-Allow-Origin'ヘッダーが存在しません。したがって、アクセスは許可されません。応答にはHTTPステータスco de 403. "

私はすべての解決策を試しましたが、助けていただけませんでした...私の問題を解決する体はどれですか?

答えて

1

こんにちは友人のみバージョン7からバージョン8.5にTomcatを更新すると、元のソリューションの問題を解決しました。

0

CorsFilterの「Access-Control-Allow-Origin」値を追加する必要があります。今、Tomcatはあなたの起源からここにアクセスすることはできないと言います。これをCorsFilterの設定に追加してください:

したがって、この構成では、どのドメインからの要求が許可されているかを判断できます。 *の代わりに、リソースにアクセスできるコンマ区切りのドメインを追加できます。

関連する問題