在SpringMvc中解决ajax访问过 跨域的问题

在Springmvc项目中用Ajax进行进行异步访问的时候可能会出现 跨域的问题
需要在消息头里面进行设置增加个配置类就可以了

package com.cdht.online.filter;
 
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;  
  
  
public class HeaderFilter implements Filter   
{   
    public void doFilter(ServletRequest request, ServletResponse resp, FilterChain chain) throws IOException, ServletException  
    {  
    HttpServletResponse response = (HttpServletResponse) resp; response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错   
    response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE");   
    response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间   
    response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization");   
    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1.   
    response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0");   
    chain.doFilter(request, resp);   
    }   
    public void init(FilterConfig filterConfig) {}   
    public void destroy() {}  
} 

还需要在web.xmld的地方做出修改就可以了。

在这里插入图片描述

代码是

	<!-- 进行消息头的设置,用来解决ajax跨域的问题 -->
	   <filter>

    <filter-name>cors</filter-name>

    <filter-class>com.cdht.online.filter.HeaderFilter</filter-class>

  </filter>

  <filter-mapping>

    <filter-name>cors</filter-name>

    <url-pattern>/*</url-pattern>

  </filter-mapping>

这样不管是Get方法或者Post方法都可以进行访问了。

猜你喜欢

转载自blog.csdn.net/weixin_43889681/article/details/88808433
今日推荐