web跨域解决方案

基于maven项目后端解决跨域方案:

pom.xml增加配置:

   <!-- 解决跨域问题 -->
       <dependency>
		    <groupId>com.thetransactioncompany</groupId>
		    <artifactId>cors-filter</artifactId>
		    <version>2.5</version>
	   </dependency>
	</dependencies>

web.xml增加配置:

<!-- 跨域配置-->    
<filter>
        <filter-name>CORS</filter-name>
        <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
        <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 , Authorization</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>
        <filter-name>CORS</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

结论:

亲测可以解决web前端跨域问题。

猜你喜欢

转载自blog.csdn.net/z793397795/article/details/84616558