阻止访问控制允许来源

时间:2019-12-05 10:14:37

标签: java mysql angular spring spring-mvc

在以下位置访问XMLHttpRequest  来源“ https://docs.gradle.org/current/userguide/publishing_maven.html#publishing_maven:tasks”中的“ http://localhost:8080/SpringVendor/login/”  已被CORS政策阻止:对预检请求的响应未通过访问控制检查:所请求的资源上没有“ Access-Control-Allow-Origin”标头。

这似乎是一个已知问题,与此主题相关的问题很多。但是,我的情况很奇怪。  我有一个部署在tomcat 8.5.45上的简单Web应用程序,并且已经正确配置了CORS:

<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>

这是控制器 @CrossOrigin(origins =“ ”,allowedHeaders =“ ”)     @RequestMapping(值= Constants.REQ_MAP_LOGIN,方法= RequestMethod.POST,产生= MediaType.APPLICATION_JSON_VALUE)     公共字符串vendorloginMethodPost(@RequestBody VendorLogin vendoridlogin){

    System.out.println(vendoridlogin);

    String message = Constants.EMPTY_STRING;
    String id = dao.getLoginDetails(vendoridlogin);

    Gson gson = new Gson();

    if (id == null) {
        message = "login fail";

    } else {
        message = " login Successfully";
    }

    String json = gson.toJson(message);
    return json; 
}

这是doaImplementation

@Override     public String getLoginDetails(VendorLogin vendorlogin){

    String getVendorData = "select vendor_ID  from vendor_login where vendor_ID='" + vendorlogin.getVendorLoginId()
            + "' and password= '" + vendorlogin.getPassWord() + "' and type_of_vendor='" + vendorlogin.getTypeOfVendor()+ "'";
    String name = null;
    try {

        name = (String) jdbcTemplate.queryForObject(getVendorData, String.class);

    } catch (Exception e) {
        // e.printStackTrace();
        System.out.println("Database operation for a query:" + getVendorData + "Failed Details Message:"
                + e.getLocalizedMessage() + " ");
    }
    return name;

}

我正在开发webservices。.frontend是一个有角度的后端,我正在使用java spring。.

0 个答案:

没有答案