2011-08-12 4 views
1

맞춤 검색 응용 프로그램을 개발 중입니다. 사용자가 입력 한 검색어는 특정 검색어를 삭제하기 위해 사전 처리됩니다. 제거 기준은 코퍼스의 모든 용어에 대해 사전 계산 된 점수를 기반으로합니다. 용어와 점수를 해시에 저장하고 사용자가 검색어를 입력하면 해시에서 검색어의 점수를 얻고 기준에 따라 검색어를 삭제할 수 있습니다.JSP를 사용하는 여러 클라이언트 요청에 대한 단일 전역 변수

그러나 해시가 매우 커서 글로벌 변수로 사용할 수 있습니까? 예를 들어 여러 클라이언트 요청의 경우 변수 복사본 하나만 메모리에 저장됩니다. 모든 클라이언트 요청에 대해 별도의 복사본이 메모리에 만들어지기 때문에 index.jsp의 전역 변수로 선언하면 작동하지 않습니다.

+0

귀하의 질문은 성능 향상을 위해 캐싱을 활용하는 다중 계층 응용 프로그램을 개발할 것이라는 것을 의미합니다. 앱이 복잡한 디자인 도로를 시작하면 a) 개발 및 유지 관리를 쉽게 수행 할 수있는 표준 패턴을 포함하고 b) 직접 코딩해야하는 기능을 포함하는 프레임 워크를 사용하는 것이 좋습니다 (예 : 캐싱). 서블릿과 JSP를 사용할 수는 있지만 휠을 계속해서 다시 만들어야합니다. – atrain

답변

2

application scope에 저장할 수 있습니다.

application.setAttribute("someName", someObject); 

getAttribute()으로 다시 가져올 수 있습니다. 이 작업이 일반적이다


참고하지 않는 JSP 내에서하는 ServletContextListener 및/또는 HttpServlet 수행 할 수 있습니다. JSP에 Java 코드를 작성하는 것은 좋지 않은 방법입니다.

0

싱글 톤 패턴을 사용할 수도 있습니다. 그것은 한 번만 시작됩니다.

관련 문제