一、设置服务器端,让ajax能直接调用

服务器端设置 tomcat 设置为例: 在web.xml中添加如下过滤器


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

二、使用jsonp方式进行

 

三、使用自定义过滤器方式进行

 

新建cors filter文件,

java web应用下跨域3招
    


            
Spring MVC Rest 支持CORS
package cn.ac.iscas.pebble.ufe.tools;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;

@Component
public class SimpleCORSFilter implements Filter {

    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
        chain.doFilter(req, res);
    }

    public void init(FilterConfig filterConfig) {}

    public void destroy() {}

}
java web应用下跨域3招
    


            
Spring MVC Rest 支持CORS
然后在web.xml里添加如下内容:
java web应用下跨域3招
    


            
Spring MVC Rest 支持CORS
<filter>
        <filter-name>cors</filter-name>
        <filter-class>cn.ac.iscas.pebble.ufe.tools.SimpleCORSFilter</filter-class>
    </filter>
    
    <filter-mapping>
        <filter-name>cors</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
java web应用下跨域3招
    


            
Spring MVC Rest 支持CORS

新建cors filter文件,

java web应用下跨域3招
    


            
Spring MVC Rest 支持CORS
package cn.ac.iscas.pebble.ufe.tools;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;

@Component
public class SimpleCORSFilter implements Filter {

    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
        chain.doFilter(req, res);
    }

    public void init(FilterConfig filterConfig) {}

    public void destroy() {}

}
java web应用下跨域3招
    


            
Spring MVC Rest 支持CORS
然后在web.xml里添加如下内容:
java web应用下跨域3招
    


            
Spring MVC Rest 支持CORS
<filter>
        <filter-name>cors</filter-name>
        <filter-class>cn.ac.iscas.pebble.ufe.tools.SimpleCORSFilter</filter-class>
    </filter>
    
    <filter-mapping>
        <filter-name>cors</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
java web应用下跨域3招
    


            
Spring MVC Rest 支持CORS

相关文章:

  • 2022-12-23
  • 2021-08-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-01
  • 2022-02-12
猜你喜欢
  • 2022-12-23
  • 2021-12-04
  • 2021-11-23
  • 2022-12-23
  • 2022-01-06
  • 2021-09-17
  • 2018-11-20
相关资源
相似解决方案