Java 后端servlet处理跨域问题
这里我用的cors,个人感觉只要能解决性能没太慢就可以了。完全没必要一个问题搞了无数种方案,多学点其他的不好嘛?
首先是导入两个cors相关的包 以下的两个链接就是包的下载地址
https://mvnrepository.com/artifact/com.thetransactioncompany/java-property-utils
https://mvnrepository.com/artifact/com.thetransactioncompany/cors-filter
** 第二步配置jsp项目的web.xml 把下面代码放入web.xml**
<!-- 跨域配置-->
<filter>
<!-- The CORS filter with parameters -->
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<!-- Note: All parameters are options, if omitted the CORS
Filter will fall back to the respective default values.
-->
<init-param>
<param-name>cors.allowGenericHttpRequests</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowSubdomains</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, HEAD, POST, OPTIONS</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
</init-param>
<!--<init-param>
<param-name>cors.exposedHeaders</param-name>
<!–这里可以添加一些自己的暴露Headers –>
<param-value>X-Test-1, X-Test-2</param-value>
</init-param>-->
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.maxAge</param-name>
<param-value>3600</param-value>
</init-param>
</filter>
<filter-mapping>
<!-- CORS Filter mapping -->
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第三步把下载的jar包放入WEB-INF里然后重新加载一遍 build path
最后加一个servlet的头
// 解决跨域问题
response.setHeader("Access-Control-Allow-Origin", "*");
maven处理方式就是同理进入链接 把maven的依赖类放入配置文件 然后配置代码放入就行 步骤差不多