카테고리 없음
[JSP] response.sendRedirect
까마귀코딩
2023. 2. 13. 16:06
결론 !
response.sendRedirect() 라는것은
JSP 페이지에서 특정 작업 수행한 후 지정한 페이지로 이동할때 사용한다 !
그렇지만 잘못사용하면 500 에러 결함이 발생하기 쉬운 sendRedirect() !
에러가 발생하는 이유는 ????
sendRedirect() 메소드가 호출된다 하더라도
JSP 코드는 계속해서 실행된다는 것을 망각했기 때문이다.
sendRedirect() 메소드가 하는 일은
웹브라우저에 전송되는 헤더 정보에 어느 페이지로 리다이렉트하라는 정보는 넣는 것 뿐이지,
실제로 JSP 프로그램의 흐름을 변경하는 것은 아니다. ㅠㅠ
일단 논리적 결함이 있는 코드(편법코드) 부터 알려주겠다 !
이게 왜 논리결함이 있다는걸까 ?
간단한 코드에서는 위와 같은 방법으로도 에러를 막을 수가 있다.
하지만, 반드시 로그인을 한 경우에만 실행되어야 하는 코드가 response.sendRedirect() 메소드 이후에 위치한다고 생각해봐!
이런 경우에는 위와 같은 편법만으로는 논리적 오류를 막을 수가 없다.
(== 로그인을 하지 않았는데도 로그인을 필요로 하는 기능이 실행되는 것)
즉, 시스템상에 숨겨진 버그 내지 결함이 발생하는 것이다.ㅠㅠ
그럼 진짜 어떡하라고 ?