티스토리 뷰
CORS(Cross Origin Resource Sharing)_크로스도메인 이슈 서버단(Spring3.0) 해결 (filter 사용)
Grand_J 2018. 3. 8. 11:36CORS(Cross Origin Resource Sharing)_크로스도메인 이슈 서버단(Spring3.0) 해결 (filter 사용)
IE 에러로그
SEC7118: 의 XMLHttpRequest에는 CORS(Cross Origin Resource Sharing)가 필요합니다.
SEC7119: 의 XMLHttpRequest에는 CORS 실행 전 항목이 필요합니다.
SCRIPT7002: XMLHttpRequest: 네트워크 오류 0x80070005, 액세스가 거부되었습니다.
SCRIPT5022: NetworkError
CORS 문제를 해결하기 위해 우선 서버쪽 Origin을 모두 허용하는 방식을 수정
1. @CrossOrigin 어노테이션을 이용하여 간편하게 바꾸는 방식인데 Spring4.0 부터 지원하여 사용 불가
2. filter를 이용하는 방법
아무곳이나 클래스파일 만듦
CORSFilter.class
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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CORSFilter implements Filter{
@Override
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
HttpServletRequest request= (HttpServletRequest) req;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "*");
//response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
//response.setHeader("Access-Control-Expose-Headers", "x-requested-with");
chain.doFilter(req, res);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
web.xml
<filter>
<filter-name>cors</filter-name>
<filter-class>패키지.클래스명</filter-class> <!-- class 위치 -->
</filter>
<filter-mapping>
<filter-name>cors</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
응답 헤더서 확인
끗!!!!!!!!!!
'Java & Spring & SpringBoot' 카테고리의 다른 글
Tomcat_톰캣 다중 서버(여러포트) 세팅 (server.xml 세팅) (0) | 2018.07.03 |
---|---|
톰캣 Tomcat 메모리설정 java.lang.OutOfMemoryError : PermGen space 에러 (0) | 2018.03.08 |
java.net.SocketTimeoutException: Read timed out 에러 해결 방법 (0) | 2018.02.22 |
WebLogic 설치방법&어플리케이션 추가 (0) | 2018.01.19 |
GCM을 이용하여 iOS Push 보내기! (0) | 2017.12.27 |
- Total
- Today
- Yesterday
- 인터바이크
- 나래바이크
- 초원사진관
- Docker
- 스쿠터 여행
- 국제반점
- 리니지m
- 송내 카페
- vscode
- 보성 여행
- 군산 여행
- 제주도 스쿠터 여행
- 전국 일주 여행
- 담양 여행
- 고흥 여행
- 남자 혼자 국내 여행
- 남자 혼자 여행
- 영광 여행
- 군산 가볼만한곳
- 오라클 DB 링크
- 군산 게스트하우스
- 송내역 카페
- 베스파LX
- 은파호수공원
- 송내 룸카페
- kendo grid
- 윈드스크린
- 스쿠터 전국 일주
- 송내역 룸카페
- 돌장갑
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |