我正在使用tomcat 7在Java(eclipse ee)的动态Web项目上运行servlet。我已将以下段落添加到我的web.xml文件中(来自https://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter/Introduction):
<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>"
我正在尝试通过以下Angular JS代码使用Chrome的发布请求:
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; }) } });
并且我不断收到以下错误代码:“ XMLHttpRequest无法加载http:// localhost:8080 / Project-FrontEnd / ServletUsers。对预检请求的响应未通过访问控制检查:没有’Access-Control-Allow- Origin’标头在所请求的资源上存在。因此,不允许访问源’null’。响应的HTTP状态码为403。”
我尝试了所有可以找到但没有帮助的解决方案…请问有人可以解决我的问题吗?
嗨,朋友们,仅将tomcat从版本7更新到版本8.5,解决了原始解决方案的问题。