1. 개요
웹 애플리케이션에서 일부 보고서 생성은 데이터베이스 계산에 오랜 시간이 걸릴 수 있으며, 일부 웹 사이트는 온도 정보를 얻기 위해 SOAP 호출을 만들기 위해 원격 서버에 액세스해야 하는 날씨 정보를 제공합니다. 이 모든 것은 복잡한 정보의 예입니다. 웹 페이지에 복잡한 정보를 너무 많이 추가하면 웹 서버와 데이터베이스 서버에 과부하가 걸릴 수 있습니다. jsp(SUN 기업 수준 응용 프로그램의 첫 번째 선택)(SUN 기업 수준 응용 프로그램의 첫 번째 선택) 코드 블록 버퍼링을 사용하면 개발자는 다양하고 복잡한 정보를 마음대로 추가할 수 있습니다.
jsp(SUN 엔터프라이즈 수준 응용 프로그램의 첫 번째 선택)(SUN 엔터프라이즈 수준 응용 프로그램의 첫 번째 선택)는 태그 라이브러리에서 복잡한 Java 코드를 캡슐화하고 실행할 수 있으므로 jsp(SUN 엔터프라이즈 수준 응용 프로그램의 첫 번째 선택)가 (SUN 엔터프라이즈 수준 응용 프로그램의 첫 번째 선택) 페이지 파일을 유지 관리하기가 더 쉬워서 비전문 개발자가 jsp를 사용하는 것이 더 편리해졌습니다. (SUN 엔터프라이즈 수준 응용 프로그램의 첫 번째 선택) (SUN 엔터프라이즈 수준 응용 프로그램의 첫 번째 선택) 수준 응용 프로그램) 페이지 파일입니다. 상용 제품이거나 오픈 소스 제품인 태그 라이브러리가 이미 많이 있습니다. 그러나 이러한 제품의 대부분은 간단한 Java Scriptlet으로 구현할 수 있는 기능을 구현하기 위해 태그 라이브러리만 사용합니다. jsp(SUN 엔터프라이즈 수준 애플리케이션)를 제공하기 위해 창의적인 방식으로 사용자 정의 태그를 사용하는 제품은 거의 없습니다. SUN 엔터프라이즈 수준 애플리케이션) 사용자 정의 태그 라이브러리는 이전에는 달성하기가 거의 불가능했습니다.
OSCache 태그 라이브러리는 OpenSymphony에 의해 설계되었습니다. 기존 jsp(SUN enterprise-level application's first choice)를 사용할 수 있는 기능을 제공하는 획기적인 jsp(SUN enterprise-level application's first choice)입니다. 선택)(SUN 엔터프라이즈급 애플리케이션을 위한 첫 번째 선택)은 페이지 내에서 빠른 메모리 버퍼링 기능을 실현합니다. 캐싱 제품을 다양한 형태로 제공하는 공급업체가 몇 군데 있지만 모두 공급업체별 제품입니다. OSCache는 모든 jsp(SUN Enterprise-level Application의 첫 번째 선택)(SUN Enterprise-level Application의 첫 번째 선택) 1.1 호환 서버에서 실행될 수 있으며 기존 jsp(SUN Enterprise-level Application의 첫 번째 선택)(SUN Enterprise-level Application)을 캐시할 수는 없습니다. ) 모든 사용자를 위한 것입니다. 애플리케이션의 첫 번째 선택) 코드 블록이며 사용자별로 버퍼링될 수 있습니다. OSCache에는 디스크 버퍼링, 프로그래밍 가능한 버퍼 플러시, 예외 제어 등과 같은 확장성을 향상시키는 몇 가지 고급 기능도 포함되어 있습니다. 또한 다른 OpenSymphony 제품과 마찬가지로 OSCache의 코드는 오픈 소스 라이선스에 따라 무료로 배포됩니다.
이 기사에서는 가상의 경매 웹사이트 디자인 프로세스를 예로 들어 OSCache의 작업 프로세스를 소개합니다. 이 가상 웹 사이트에는 최근 경매 활동을 보고하는 관리 페이지, 다양한 판촉 정보가 포함된 완전한 기능의 홈 페이지 및 사용자의 미해결된 경매 활동에 대한 정보가 포함된 특수 탐색 표시줄이 포함됩니다.
2. 관리 페이지
경매 웹사이트에는 관리 보고서가 포함되어 있으며 데이터베이스 서버가 이러한 보고서를 생성하는 데 몇 초가 걸립니다. 시스템 작동을 모니터링하는 관리자가 여러 명일 수 있고 관리자가 방문할 때마다 보고서가 재생성되는 것을 피하고 싶기 때문에 보고서를 생성하는 데 오랜 시간이 걸리는 것이 중요합니다. 이를 달성하기 위해 전체 페이지를 매시간 새로 고쳐지는 애플리케이션 수준 버퍼 태그로 캡슐화합니다. 다른 공급업체의 일부 제품에는 비슷한 기능이 있지만 OSCache가 그 제품보다 더 나은 기능을 제공한다는 점만 다를 뿐입니다.
단순화를 위해 서식 문제에 너무 집중하지 않겠습니다. 관리 페이지를 작성할 때 먼저 페이지에 태그 라이브러리 선언을 추가합니다.
<%@ taglib uri="cachetags" prefix="cache" %>
다음으로 전체 페이지를 캐시 태그로 둘러싸야 합니다. 캐시 태그의 기본 캐시 시간은 1시간입니다.
<cache:cache> .... 복잡한 관리 보고서.... </cache:cache>
이제 관리 페이지가 캐시되었습니다. 페이지가 생성된 후 1시간 이내에 관리자가 동일한 페이지에 다시 액세스하면 이전에 캐시된 페이지가 표시되므로 데이터베이스 서버에서 이 보고서를 다시 생성할 필요가 없습니다.
3. 홈페이지
경매 웹사이트의 홈페이지는 웹사이트 활동을 표시하고 곧 종료되는 경매를 홍보합니다. 진행 중인 경매 수, 현재 로그인한 사용자 수, 가까운 시일 내에 종료될 경매 목록 및 현재 시간을 표시하려고 합니다. 이러한 메시지에는 시간 정확도 요구 사항이 다릅니다. 웹사이트의 경매는 일반적으로 며칠 동안 지속되므로 유효한 경매 수를 버퍼링하는 시간을 6시간으로 설정할 수 있습니다. 사용자 수는 분명히 더 자주 변경되지만 여기서는 한 번에 15분 동안 이 값을 버퍼링합니다. 마지막으로, 페이지에 표시되는 현재 시간이 항상 페이지에 액세스한 정확한 시간이 되기를 원합니다.
홈 페이지에서 태그 라이브러리를 선언한 후 먼저 버퍼링 없이 현재 날짜를 직접 출력합니다.
이제 다음과 같습니다. <%=new java.util.Date()%>
다음으로 경매에 참여할 항목의 목록을 표시하려고 합니다. 단기적으로 종료됩니다:
<cache:cache> <ul> <% // 가장 최근 경매를 포함하는 반복자를 구성합니다. Iterator Auctions = .... while (auctions.hasMore()) { Auction Auction = (Auction) 경매 .next(); %><li><%=auction%></li%< } %> </ul> </cache:cache>