티스토리 뷰
트러블슈팅
Cannot call sendRedirect() after the response has been committed 해결 방법
기억용블로그 2022. 5. 19. 23:05728x90
protected void resultRedirectStrategy(final HttpServletRequest request,
final HttpServletResponse response,
final Authentication authentication) throws IOException, ServletException {
SavedRequest savedRequest = (SavedRequest) request.getSession().getAttribute("SPRING_SECURITY_SAVED_REQUEST");
if (authentication.getAuthorities().contains(new SimpleGrantedAuthority("ROLE_ADMIN"))) {
redirectStrategy.sendRedirect(request, response, "/admin");
}
if (savedRequest != null) {
String targetUrl = savedRequest.getRedirectUrl();
System.out.println("targetUrl: " + targetUrl);
redirectStrategy.sendRedirect(request, response, targetUrl);
} else {
System.out.println("defaultUrl: " + defaultUrl);
redirectStrategy.sendRedirect(request, response, defaultUrl);
}
}
위와같이 if statement가 else로 연결되어 있지 않은 경우에 1가지 이상의 redirectStrategy가 결정되기 때문에 해당 에러가 발생한다.
...
redirectStrategy.sendRedirect(request, response, "/admin");
}
else if (savedRequest != null) {
String targetUrl = savedRequest.getRedirectUrl();
...
이와 같이 if-else if-else if-else의 형태로 만들어 어떠한 경우라도 redirect 전략이 한 개가 될 수 있게 해야한다
'트러블슈팅' 카테고리의 다른 글
젠킨스 SSH로 sh를 실행할때 경로에 주의하자 (0) | 2022.07.04 |
---|---|
@Embeddable을 사용할때 NullPointerException을 방지하는 방법 (0) | 2022.06.04 |
The dependencies of some of the beans in the application context form a cycle: 에러 발생 해결 방법 (0) | 2022.06.02 |
Parameter value [\] did not match expected type [java.lang.String (n/a)] 버그 일시적 해결 방법 (0) | 2022.05.24 |
http://localhost:8080/null로 redirect되는 문제 해결 방법(임시) (0) | 2022.05.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 루나빔
- 레디스
- IDE
- 도커
- 배포
- RequestBody
- Dap
- JavaScript
- RequestParam
- 아키텍처
- ModelAttribute
- neovim
- RequestPart
- vim
- lunarvim
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함