history.back(), location.replace()

  • 새로고침이 필요할 시 location, 필요없다면 history

 

history.back()

history.back을 사용했을 때 로딩 되는 페이지에서 해당 url로 인한 진입인지, back으로 돌아온 페이지 인지 감지하여 함수를 동작시킬 수 있다.

history.go(-4) -> 뒤로가기 4history.go(-1) == history.back()

 

location.replace()

현재 페이지에서 새로운 페이지로 덮어 쓰는 것이기 때문에 이전 페이지로 이동이 불가능하다.

 


 

스프링 인터셉터(Interceptor)

  • 스프링 interceptor란 요청을 가로채서 개발자가 원하는 동작을 추가하는 역할을 한다.
  • 인터셉터를 사용하는 이유는 공통 로그 처리, 권한체크에 사용될 수 있다. interceptor를 이용하여 요청을 받아 들이 전, 세션에서 로그인한 사용자가 있는지 확인해보고 없다면 로그인 페이지로 redirect 시킬 수 있다.

 

preHandler()

Controller가 호출되기 전에 실행되며, 컨트롤러가 실행 이전 처리해야 할 작업이 있는 경우 혹은 요청정보를 가공하거나 추가하는 경우 사용한다.

  • return 값은 boolean으로 해당 값이 false이면 컨트롤러 또는 다음 HandlerInterceptor를 실행하지 않는다.

 

postHandler()

Controller가 호출 된 이후이지만, View가 생성되기 전에 실행되며, ModelAndView 객체를 인자로 받아 Controller에서 View 정보를 전달하기 위해 작업한 Model 객체의 정보를 참조하거나 조작할 수 있다.

  • preHandle()에서 리턴값이 false경우 실행되지 않는다.

 

afterCompletion()

View의 모든 작업이 완료된 후에 실행되며, preHandler()에서 리턴값이 false인 경우 실행되지 않는다.

'Spring' 카테고리의 다른 글

SPRING - MyWebMVCConfigurer, Interceptor  (0) 2024.08.18
SPRING - ResultData<DT>  (0) 2024.08.18
SPRING(08.13) - Model 객체  (0) 2024.08.13
SPRING(08.13) - JSTL  (0) 2024.08.13
SPRING(08.12) - 제네릭  (0) 2024.08.12

+ Recent posts