java跨域问题

哈哈 阅读:573 2021-04-01 11:16:23 评论:0
@Component 
@WebFilter(filterName="appReqCorsFilter",urlPatterns={"/*"}) 
public class AppReqCorsFilter implements Filter 
{ 
	@Override 
	public void init(FilterConfig filterConfig) throws ServletException 
	{ 
	} 
 
	@Override 
	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException 
	{ 
		HttpServletRequest request; 
	    HttpServletResponse response; 
	    String sOrigin; 
	     
	    request = (HttpServletRequest)servletRequest; 
	    response = (HttpServletResponse)servletResponse; 
	     
	    //==== 处理跨域问题 
	    	//若有Origin,说明前端请求时启用了跨域设置(为启用Session) 
		sOrigin = request.getHeader("Origin"); 
		if( StringUtils.isEmpty(sOrigin) ) 
			sOrigin = "*";		//"http://" + request.getRemoteHost() + ":" + request.getRemotePort(); 
	    response.setHeader("Access-Control-Allow-Origin", sOrigin); 
	    response.setHeader("Access-Control-Allow-Credentials", "true"); 
	    response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); 
	    response.setHeader("Access-Control-Max-Age", "3600"); 
	    response.setHeader("Access-Control-Allow-Headers", "Content-Type,x-requested-with,Authorization"); 
	    filterChain.doFilter(servletRequest, servletResponse); 
	} 
 
	@Override 
	public void destroy() 
	{ 
	} 
 
} 
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号