2011-09-22 6 views
0

AJAX4JSF 메모리 사용량이 많아서 응용 프로그램에 메모리 문제가 있습니다. 따라서 NUMBER_OF_VIEWS_IN_SESSION을 1로 설정하고 뒤로 버튼 기능을 사용하기로 결정했습니다.JSF : NUMBER_OF_VIEWS_IN_SESSION 및 뒤로 버튼

그러나 web.xml 파일에 다음을 추가하면 뒤로 버튼이 계속 작동합니다.

<context-param> 
    <param-name>org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION</param-name> 
    <param-value>1</param-value> 
</context-param> 

나는 다음 버튼을 어떻게 이해할 수 있습니까? NUMBER_OF_VIEWS_IN_SESSION을 1로 설정하면 브라우저의 뒤로 버튼 기능이 느슨합니다.

미리 도움을 주셔서 감사합니다.

답변

0

NUMBER_OF_VIEWS_IN_SESSION을 1로 설정하면 브라우저의 뒤로 가기 버튼 기능이 손실됩니다.

당신이 읽고있는 그 기사가 말도 안되는 소리이거나 그 기사를 잘못 해석 한 것입니다. 뒤로 단추의 기능은 서버 쪽에서을 제어 할 수없는 방식으로 이 될 수 있습니다.

아마도이 기사는 브라우저 캐시에서 제공된 페이지를 뒤로 버튼으로 더 이상 제출할 수 없다는 것을 의미하기 때문에 더 이상 ViewExpiredException이 될 수 있습니다. Filter을 만들어서 응답 헤더를 추가해야 브라우저가 페이지를 캐시하지 않도록 할 수 있습니다. 그러면 뒤로 버튼을 누르면 페이지에서 새로운 GET 요청이 발생하여 더 이상 ViewExpiredException을 제출할 필요가 없습니다. 양식을 작성하십시오.

높은 메모리 사용량에 관해서는, 나는 당신의 문제가 다른 원인에 의한 것이라고 생각합니다. 뷰 또는 세션 범위가 지정된 빈에서 너무 많은 데이터를 표시하는 것일 수도 있습니다. 이것을 철저히 읽으십시오 : Why JSF saves the state of UI components on server? 마지막으로, 가정을하기 전에 프로파일 러를 실행하십시오.

+0

답장을 보내 주셔서 감사합니다. 프로덕션 힙 덤프를 분석 한 후이 질문을 게시하고 거의 모든 세션에 약 20MB의 AJAX4JSF 데이터가 포함되어 있음을 발견했습니다. 나는 왜 내 문제가 다른 것에 의해 야기되었다고 주장하는지 모르겠다. 명확히하기 위해 미리 감사드립니다. :) 다른 질문. NUMBER_OF_VIEWS_IN_SESSION을 1로 설정하면 어떤 단점이 있습니까? –

+0

20MB? 와우, 그게 심각해. JSF 1.x 또는 2.x를 사용하고 있습니까? – BalusC

+0

불행히도, 우리는 1.x를 사용합니다! : ( –