우상
525
2019-05-24 17:44:13
3
206

세션스코프빈을 사용하여 로그인을 처리하는 이유가 궁금합니다.


로그인을 하면 조회한 정보를 세션에 저장하는 하는데, 

찾다보니 (아래 url 참조)

http://cafe.daum.net/ITVillage/LgUb/23?listURI=%2FITVillage%2FLgUb

세션스코프빈을 사용하여 로그인을 처리하는 방법이 있더라구요.


이글에서는 세션스코프빈을 사용하면 

HttpSession, 과 HttpServletRequest 를 사용할 필요가 없기때문에 

더 나은 방법이라고 소개하고 있는데요.


궁금한건 세션스코프빈을 사용하면 세션을관리를 서버에서 하는건가요?

서버에서 하지 않고 어플리케이션 내에서 하는건가요?


똑같이 서버에서 관리하는거라면,

HttpSession 세션을 생성해서 세션에 저장하면 간단한데 

구지 코드도 길어지고 이런식으로 구현하는 이유가 궁금하네요.

0
1
  • 답변 3

  • John Suhr
    1k
    2019-05-24 22:34:16

    악... 페이지 읽는데 눈이 너무 아파요.

    읽어보니 프레젠테이션 계층에서 사용하는 HttpServletRequest 객체를 서비스 레이어로 넘기는 것은 부적절하다고 생각하여 다른 SessionScope 빈으로 처리했다는 거네요.

    결국 SessionRegistry랑 같은 개념입니다. HttpServletRequest을 쓰냐 안 쓰냐의 차이네요. SessionRegistry이든, LoginSessionInfoFactory이든 같습니다. 싱글톤이고 서버가 빌드되면 서버 종료까지 메모리에 항상 있는 객체에요.

    0
  • 우상
    525
    2019-05-24 23:02:38

    제가 작성한 글이 아니어서 ㅎㅎㅎ

    눈이 아프신데도 도와주셔서 감사합니다 ㅎㅎㅎ

    SessionScope 빈을 사용하더라도 세션을 서버에서 관리하고 

    님이 말하신데로 단순 


    'HttpServletRequest 객체를 서비스 레이어로 넘기는 것은 부적절하다고'


    하는 이유라면 사용하는걸 제고해 봐야 겠네요 ㅎㅎㅎ

    제가 이해한게 맞나요???


    0
  • John Suhr
    1k
    2019-05-25 08:30:48

    네 맞아요 ㅎ

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.