프런트엔드와 백엔드를 분리하는 프로젝트에서는 필연적으로 크로스 도메인 문제가 발생합니다. 크로스 도메인 문제를 설정할 때 주의해야 할 사항이 많습니다. 예를 들어 이번에는 Access-Control-을 설정하겠습니다. Allow-Origin은 여러 도메인 이름 요청을 허용합니다.
(1) 여러 도메인 이름에 대한 접근을 허용하도록 설정하는 가장 간단한 방법은 와일드카드를 사용하는 것이지만 이 방법은 모든 도메인 이름에 접근을 허용하므로 안전하지 않으며 브라우저는 이런 방식으로 쿠키 정보를 전달할 수 없습니다( 쿠키정보를 가지고 있는 경우에는 아래의 두 번째 방법과 같이 실제 도메인 이름만 사용할 수 있습니다. 이 방법은 쿠키 정보 없이 개발 중인 테스트에만 권장됩니다. 코드는 다음과 같습니다.
rep.setHeader("Access-Control-Allow-Origin", "*");
(2) 배열 필터링 사용
@Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse rep = (HttpServletResponse) response; // 设置允许多个域名请求 String[] allowDomains = {"http://www.toheart.xin","http://192.168.11.213:8080","http://localhost:8080"}; Set allowOrigins = new HashSet(Arrays.asList(allowDomains)); String originHeads = req.getHeader("Origin"); if(allowOrigins.contains(originHeads)){ //设置允许跨域的配置 // 这里填写你允许进行跨域的主机ip(正式上线时可以动态配置具体允许的域名和IP) rep.setHeader("Access-Control-Allow-Origin", originHeads); }
위 내용은 여러 도메인 이름의 액세스를 허용하도록 Java에서 Access-Control-Allow-Origin을 구성하는 방법입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!