因为公司是前后端完全分离 所以就会出现跨域问题 所以就需要后台处理一下 有两种比较好的处理方式
1 注解处理 spring 自带了一个可以解决跨域问题的注解 @CrossOrigin 但是需要在每个controller里面都写一下
2 还有一种是通过过滤器来处理
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; /** * 处理跨域问题 * @author MR.ZHENG * @date 2016/08/08 * */ @Component public class OriginFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override 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,PUT"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "x-requested-with"); chain.doFilter(req, res); } @Override public void destroy() { // TODO Auto-generated method stub } }
楼主觉得还是第二种比较好 因为设置了就不用管了aop的思想就完全实现了 第一种虽然也好但是每个controller都需要写