java跨域问题

mac2025-06-05  16

@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() { } }
最新回复(0)