cors在java中怎么配置
时间: 2024-05-16 18:15:16 浏览: 100
CORSConfiguration.java
在 Java 中,可以通过配置 Web 服务器的过滤器(Filter)来实现 CORS(跨域资源共享)。
下面是一个基于 Tomcat 服务器的 CORS 配置示例:
1. 在 web.xml 文件中添加 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>
```
2. 配置 CORS 的参数
在 Tomcat 中,可以在 server.xml 文件中配置 CORS 的参数,例如:
```
<Context>
<Valve className="org.apache.catalina.valves.RemoteIpValve" />
<Filter className="org.apache.catalina.filters.CorsFilter"
allowCredentials="true"
allowedHeaders="Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers"
allowedMethods="GET, POST, PUT, DELETE, OPTIONS, HEAD"
allowedOrigins="http://localhost:8080,http://localhost:3000"
exposeHeaders="Access-Control-Allow-Origin,Access-Control-Allow-Credentials"
maxAge="3600"/>
</Context>
```
上述配置中,参数的含义如下:
- `allowCredentials`:是否允许携带跨域请求的凭证,默认为 false。
- `allowedHeaders`:允许的请求头,默认为 Content-Type。
- `allowedMethods`:允许的请求方法,默认为 GET、POST、HEAD。
- `allowedOrigins`:允许的源地址,可以是单个地址或多个地址(用逗号分隔)。
- `exposeHeaders`:允许客户端访问的响应头。
- `maxAge`:响应的缓存时间,单位为秒。
注意:以上配置仅适用于 Tomcat 服务器,其他 Web 服务器的配置方法可能会有所不同。
阅读全文