2010-02-18 2 views
0

displayTag를 사용하여 데이터베이스 쿼리의 개체 전체 결과 집합을 저장하고 JSP 내에서 페이지 매김 형식으로 표시하기 시작했습니다.HttpSession에 대한 DisplayTag 질문

전체 결과 집합을 HttpSession에 저장해야한다는 것을 알았습니다. 그렇지 않으면 displayTag가 다음 페이지로 진행하는 데이터를 잃게됩니다.

내 질문/염려스러운 점이이 대형 객체 그래프를 세션에 저장하는 것입니다. 사용자가 displayTag를 사용하는 JSP를 떠난 후에 수동으로 세션을 정리해야합니까? 또는 아마도 나는 뭔가를 놓치고 있습니다. 요청에 내 resultset을 저장하고 displayTag에서 이러한 객체의 메모리를 관리하도록하면 좋을 것입니다.

답변

0

표시 태그는 단지 page, request, session, or application 범위 중 하나 일 수있는 페이지의 컨텍스트에서 값을 사용하여 감사드립니다. 설명하는 것과 같은 일을했을 때 요청 범위를 사용 했으므로 설명하는 문제를 피할 수 있습니다. 사용자 세션에서 개체를 캐시하려는 경우 시간 제한을 설정하는 것 외에는 아무 것도 없습니다 . 세션에서의 캐싱은 그다지 좋지 않습니다. 사용자가 단순히 10 분 동안 그 페이지를 쳐다볼 수 있기 때문입니다. 결과 세트는 공간을 차지하는 서버에 있습니다.

실제로 캐시해야하는 경우 사용자간에 데이터를 공유 할 수있는 방법을 찾을 수 있다면 전체적으로 캐시하는 것이 좋습니다. 또 다른 옵션은 특정 요청에 필요한 데이터 만 가져 오는 것입니다 (예 : 전체 행 집합을로드하고 하위 집합을 표시하지 않고 개별 하위 집합 만로드하여 페이지 매김).

+0

감사합니다. 원래 요청에 결과를 넣었지만 페이지를 넘기기 시작하면 결과가 사라졌습니다. 페이지 1 만 올바르게 표시되었습니다. 세션을 사용 하겠지만 데이터베이스에서 데이터의 하위 집합을 반환하려고합니다. –