카테고리 없음

[JSP] response.sendRedirect

까마귀코딩 2023. 2. 13. 16:06

 

 

결론 !

 

response.sendRedirect() 라는것은 

 

JSP 페이지에서 특정 작업 수행한 후 지정한 페이지로 이동할때 사용한다 !

 

 

그렇지만 잘못사용하면 500 에러 결함이 발생하기 쉬운 sendRedirect() !

 

 

 

 

500 ERROR !!

 

 

에러가 발생하는 이유는 ???? 

sendRedirect() 메소드가 호출된다 하더라도

 JSP 코드는 계속해서 실행된다는 것을 망각했기 때문이다.

sendRedirect() 메소드가 하는 일은

웹브라우저에 전송되는 헤더 정보에 어느 페이지로 리다이렉트하라는 정보는 넣는 것 뿐이지,

실제로 JSP 프로그램의 흐름을 변경하는 것은 아니다. ㅠㅠ 

 

 

그럼 어떻게 해야되는데 ?? ? ??

 

 

일단 논리적 결함이 있는 코드(편법코드) 부터 알려주겠다 !

 

 

이게 왜 논리결함이 있다는걸까 ? 

간단한 코드에서는 위와 같은 방법으로도 에러를 막을 수가 있다.

하지만, 반드시 로그인을 한 경우에만 실행되어야 하는 코드가 response.sendRedirect() 메소드 이후에 위치한다고 생각해봐!

 

이런 경우에는 위와 같은 편법만으로는 논리적 오류를 막을 수가 없다.

(== 로그인을 하지 않았는데도 로그인을 필요로 하는 기능이 실행되는 것)

 

즉, 시스템상에 숨겨진 버그 내지 결함이 발생하는 것이다.ㅠㅠ

 

 

 

 

 

 

 

그럼 진짜 어떡하라고 ? 

 

 

 

이렇게 해주거나