2010-04-01 4 views
0

JSP, Struts, EJB 및 서블릿을 사용하여 웹 응용 프로그램을 만듭니다. 응용 프로그램은 CRM 및 회계 패키지가 결합되어 있으므로 데이터베이스 크기가 매우 큽니다. 따라서 실행 속도를 높이려면 데이터베이스에 대한 왕복을 방지해야합니다.
그 목적을 위해서, 은 클라이언트 컴퓨터에 임시 XML 파일을 만들고 필요할 때마다 사용합니다. Javascript가 그렇게 할 수 없으므로 어떻게해야합니까? 이 일을하는 방법이 있습니까? 아니면 더 빨리 신청할 수있는 다른 해결책이 있습니까?웹 응용 프로그램에서 클라이언트 컴퓨터에 임시 파일을 만드는 방법은 무엇입니까?

답변

1

웹 서버에 캐싱해야합니다.

의심의 여지없이 지금까지 깨닫지 못했지만 웹 앱에서 클라이언트 컴퓨터 (예 : 쓰기 쿠키)에서 할 수있는 일은 매우 제한되어 있습니다.

2

클라이언트에 임시 파일을 생성하기 위해 클라이언트 파일 시스템에 대한 자유로운 액세스 권한이 없습니다. 브라우저 샌드 박스는 매우 좋은 이유 때문에 이것을 방지합니다.

아마도 브라우저에서 캐싱을 창의적으로 사용할 수 있습니다. jQuery의 data 메서드는이 예제입니다. TIBCO General Interface은 XML 데이터 용 브라우저 캐시를 광범위하게 사용합니다. 그들의 코드는 오픈 소스이며 브라우저 캐시를 어떻게 구현했는지 살펴볼 수 있습니다.

데이터베이스가 크고 대용량 파일을 저장하려고하면 브라우저가 해당 데이터를 저장하기에 적합하지 않을 수 있습니다. 그러나 저장하려는 정보가 상당히 작은 경우 브라우저 내 캐시를 사용하면 원하는 정보를 얻을 수 있습니다.

0

브라우저 플러그인 Google Gears를 사용하여 애플리케이션을 만들면 클라이언트 측 실제 저장 용량을 사용할 수 있습니다.

그 외에도 모든 단일 요청에 대해 엄청난 오버 헤드가 필요하다는 것을 기억하십시오. 필요한 경우 한 개의 응답에 몇 백 킬로바이트를 쉽게 쌓을 수 있지만 멀리있는 사용자는 초당 몇 개의 요청 만 실행할 수 있습니다. 더 많은 데이터 형식의 오버 헤드를 추가하는 경우에도 요청 수를 줄이십시오.

@justkt 실제로 웹 응용 프로그램에서 데이터를 저장하지 못하게하는 좋은 이유가 없습니다. 실제로 HTML5 사양에는 Google Gears에서 제공하는 것과 유사한 데이터베이스가 포함되어 있지만 브라우저 지원은 해당 기능을 사용하기에는 너무 산발적입니다.

+0

@ebusiness - 데이터를 저장하는 것이 한 가지입니다. 파일 시스템에 대한 액세스는 완전히 다른 볼 게임입니다. 내가 명확하게 대답을 편집합니다. 명백히 허락을받지 않고도 브라우저 기반 응용 프로그램에서 파일 시스템에 대한 읽기 또는 쓰기 액세스를 허용하고 싶지는 않습니다. 나는 자유롭게 또는 간과하게 제공 할 수 있습니다. Gears는 사용자 권한 없이는 작동하지 않습니다. 예를 들면 다음과 같습니다. – justkt

0

클라이언트에 캐시하려는 경우 서버에 파일을 만들어 웹 응용 프로그램에서 검색 할 수 있습니다. 이렇게하면 브라우저가 가져 와서 클라이언트 캐시에 보관합니다.

하지만 파일 크기가 클 경우 클라이언트에게 이로 울 수 있습니다.

관련 문제