문제

JSF 백킹 콩 범위에 대한 오해가 있습니다. 나는 JSF를 처음 접했고 이제는 간단한 프로젝트를 작성하고 있으며 모든 콩에는 주로 세션 범위가 있습니다. 그러나 내 사이트에 많은 사용자가 있으면 세션이 매우 커서 서버를 죽일 것입니다. 어떤 사람들은 솔루션이 사용 요청 범위 Bean이라고 말했습니다. 그러나 예를 들어 내 페이지를 검증해야하고 유효성 검사가 실패 인 경우 오류 메시지를 표시하고 모든 사용자 입력을 저장하면이 상황에서 무엇을 할 수 있습니까? Ajax-Request를 사용하는 구성 요소를 사용하려고 노력하고 있으며 내 요청 Bean이 재구성되지 않기를 바랐지만 작동하지 않기를 바랐습니다 (사용 중입니다. <rich:datascroller> ).

나는 JSF 이해에 큰 구멍이 있다고 생각합니다. 누군가 내가이 상황에서해야 할 일을 설명하거나 콩 범위에 대한 좋은 기사를 연결하면 감사 할 것입니다.

도움이 되었습니까?

해결책

스코프는 콩의 수명을 정의합니다.

요청 범위 Bean은 하나의 HTTP 요청을 서비스하는 동안 라이브이므로 사용자의 입력을 분석하고 응답 페이지를 공식화하는 동안 모두 사용할 수 있습니다. 따라서 간단한 검증 및 응답을 위해 요청 스코프 콩이 필요한 것이 될 것으로 예상됩니다. 예외는 브라우저로 다시 리디렉션을 보내고 새로운 요청을 제출하면 필요할 수 있습니다.

세션 스코프 콩은 사용자 세션의 수명을 위해 살아갑니다. 여러 요청에 걸쳐. 세션은 얼마 동안 지속될 수 있지만 결국 사용자가 로그 아웃하거나 Quiscent가되고 그의 세션은 시간이 초과됩니다. 따라서 전반적으로 얼마나 많은 사용자를 보유하고 있는지, 한 번에 얼마나 많은 활성이 있는지는 중요하지 않습니다. 각 사용자에 대한 일부 세션 데이터를 유지하는 것이 매우 일반적이므로 (적어도 누가, 아마도 최근에 보았을 수도 있음) 일부 데이터를 유지해야 할 근본적인 이유는 없습니다. 당신은 단지 깔끔하게 유지해야합니다. 기존 페이지의 데이터를 매우 오래 유지하지 마십시오. 아마도 "현재 데이터"Bean 또는 그와 같은 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top