2012-07-21 5 views
1

HTTPSession 객체가 있는데이 객체에 사용자 정보를 저장하고 싶습니다.Java HTTPSession - 사용자 이메일을 문자열로 저장 대 사용자 객체 저장

내가 문자열로 사용자의 이메일을 저장하는 두 가지 옵션

  • 이 데이터베이스에서 사용자를 얻고 필드를 모든 시간을 사용합니다.
  • 스토어 세션에서 사용자 개체와 JSTL 지원을받을 예를 들어 나는

어느 하나가 더 나은 솔루션입니다 $ {User.firstName}을 할 수 있습니까? 모범 사례?

답변

1

세션의 수명 동안 사용자 정보가 변경 될 것으로 예상되는 경우 모두에 따라 다릅니다.

변경되지 않거나 부실 값이 표시되지 않는 경우 사용자를 세션에 저장하는 것이 좋습니다. 그렇지 않으면 데이터베이스에서 매번 최신 사용자 정보를 가져 오는 것이 필요합니다.

사용자의 이메일 주소로 사용자를 식별하지 않아도되지만, 만료되거나 변경 될 수 있습니다. 기술 사용자 ID를 사용하고 전자 메일을 사용자의 다른 정보로 저장하십시오.

2

는 내가 객체로 저장하는 것이라고 생각 나는 그것이 성능 병목이 될 수있는 세션에 큰 개체를 저장에주의 할

0

... 하나 더. 전체 개체가 더 편한 솔루션 일 수 있지만 저장중인 개체가 큰 경우 개체가 serialize 및 deserialize되기 때문에 메모리 및 성능 문제가 발생할 수 있습니다. 이것은 또한 세션에 직렬화 가능 (객체가 Serializable 인터페이스를 구현해야 함을 의미)하는 객체 만 저장할 수 있음을 의미합니다.

저는 항상 세션에 가능한 한 적게 저장하려고합니다. 귀하의 경우에는 식별자를 저장하고 나중에 사용자 객체를 조회하십시오. 몇 가지 유틸리티 방법을 사용하여.