2009-06-05 3 views
0

프로젝트의 요구 사항을 가장 잘 수행하려면 내 전략에 대한 온 전성 검사가 필요합니다. 기본적으로 나는 정기적으로 파싱해야하고 출력 된 HTML 출력 (xslt는 옵션이 아님)이 필요한 xml 파일을 가지고있다.이것은 jsp 파일에 html을 포함하여 생성하는 데 유효한 전략입니까?

내 생각에 단일 .jsp 페이지를 사용하여 파일을 다시 생성하기 위해 '시간'(x 일이 경과했는지)을 알 수있는 마지막 구문 분석 날짜를 저장하는 응용 프로그램 변수를 확인할 수 있습니다. 그렇다면 jsp를 통해 XML을 파싱하고 결과를 정적 HTML 파일에 기록한 다음 렌더링을 위해 동일한 JSP에 동적으로 포함시킵니다. 그렇지 않으면 재생성을 건너 뛰고 단순히 html 파일을 포함합니다. html 파일을 포함하여 디스플레이를 렌더링하는 것이 아니라 후속 방문에 대한 응답/처리 시간을 저장하는 것입니다.

제 질문은 이것이 현명한 방법인지 아닌지에 관한 것입니다. 나의 구체적인 관심사는 다음과 같습니다. 1) 방문자가 사용할 수도 있고 사용하지 않을 수도있는 html 파일을 덮어 쓸 수 있습니까? 2) 동적 포함 jsp 작업을 통해 페이지 리디렉션없이이 방법을 사용할 수 있습니다. 어떤 생각에 미리와 긴 포스트를 지속에

감사합니다 - 더 적합 할 수 있습니다 서블릿에서 XML 생성 (번역) 이렇게

B

답변

1

필요한 ttl을 사용하여 생성 된 HTML을 저장하기 위해 캐시 (예 : ehcache)를 사용하고 싶습니다.

렌더링은 캐시에서 HTML을 검색하는 서블릿 (jsp를 사용할 수 있지만 서블릿에서는 더 깔끔함)으로 처리 할 수 ​​있으며 단순히 응답으로 반환 할 수 있습니다. html이 생성되지 않았거나 만료 되었기 때문에 캐시에 없으면 생성되어 캐시에 저장됩니다.

xml에서 html을 생성해도 사용자가 생성되는 동안 지연되는 것을 피하기 위해 별도의 스레드에서 처리 할 수 ​​있습니다.

0

. 나는 당신이 자바 코드를 가지고있을 가능성이 높기 때문에 이것을 말하고있다. 서블릿은 프로그래밍 방식의 처리를 위해 JSP보다 적합합니다.

+0

기술적 인 요구 사항으로 인해 jsp를 더 잘 유지할 수 있습니다. <%! ? 그러나 전반적인 이론은 물을 보유하고 있습니까? – WillyCornbread

0

왜 단순히 JSP 자체를 포함하지 않습니까? JSP가 XML을 정적 파일에 "캐시"하는 경우, HTML 파일을 다시 생성해야 할 때 JSP가 두 번 호출되는 경우 (특별히 처리하지 않는 한) 경쟁 조건이 있다는 것을 의식해야합니다.

그러나 최소한 JSP의 "클라이언트"는 "캐싱"메커니즘 (HTML 파일 일 수 있음)에 노출되지 않습니다.

예를 들어 매번 새로운 HTML 파일을 만들고 응용 프로그램 컨텍스트에 이름을 저장할 수 있습니다. 따라서 파일을 덮어 쓰지 않습니다. RAM에 캐시 할 수 있습니다. 캐시 할 수 없습니다.

요점은 클라이언트가 JSP에 대해서만 알고 있고 HTML이 어떻게 또는 왜 만들어야하는지에 상관하지 않는다는 것입니다.

관련 문제