2011-10-10 2 views
2

브라우저의 캐시에서 이전 버전의 애플릿을 삭제할 수 있습니까? 이미 첫번째 장소에있는 cache problem을 방지하기 위해 노력했다 일들은 다음과 같습니다오래된 애플릿을 브라우저의 캐시에서 프로그래밍 방식으로 제거하는 방법은 무엇입니까?

<% 
if (request.getProtocol().compareTo("HTTP/1.0") == 0) { 
      response.setHeader("Pragma", "no-cache"); 
     } else if (request.getProtocol().compareTo("HTTP/1.1") == 0) { 
      response.setHeader("Cache-Control", "no-cache"); 
     } 
     response.setDateHeader("Expires", 0); 
%> 
:

1- HTTP 응답 헤더에서 "노 캐시"을 설정하려면, 내 JSP의 상단에 다음 스크립트를 배치

2 애플릿을 배포하는 동안

으로 설정합니다. 캐시에서이 애플릿 jar 파일을 프로그램 방식으로 삭제하는 방법이 있는지 궁금한가요?

[업데이트]

때마다 내 경우에는 좋은 생각처럼 보이지 않는 애플릿에 대한 고유 한 URL을 제공. 같이, 시간이 지나면 내 경우 애플릿 다시로드 (새로 고침) 자체에 애플릿 새로운 URL을 전달하기 어려울 것 URL

applet.getAppletContext().showDocument(url); 

에 타격 (Timer를 사용하여, 중간 밤에 말)

답변

7

다른 질문에 대한 대답은 여기에도 적용됩니다. 매번 애플릿에 대한 고유 URL을 제공하십시오. 많은 사람들이이 기술을 사용하고있어 문제를 해결할 수 있기 때문에 유머가 아닙니다.

+0

앞서 언급 한 것처럼 '다른'질문의 주석에 고유 한 URI에서 애플릿을 제공 한 다음 호출 할 수 없습니다. 애플릿은 특정 시간 후에 자체적으로 다시로드하려고 시도합니다. 매번 고유 URI를 호출하는 것이 어떻게 가능합니까? 나는 뭔가를 놓칠지도 모른다. –

+2

URL 끝에는 서버에서 사용하지 않는 임의의 매개 변수를 추가하기 만하면됩니다 (예 : '? my_parameter = 12345', 매번 매개 변수의 값이 변경됩니다. 이렇게하면 브라우저가 매개 변수가 실제로 사용되지 않고 실제로 동일한 리소스가 다시로드된다는 것을 알 수 없으므로 캐싱을 방지합니다. – michael667

+0

좋아, 이제 알았다. 먼저 애플릿 이름을 변경하고 이에 따라 UR1을 동기화해야한다고 생각했습니다. 하지만이 무작위 매개 변수 솔루션, 고마워요 :) –

1

이 링크는 도움이 될 수 있습니다

Applet Caching and Installation in Java Plug-in

how-to-clear-cache-to-reload-applet

How to disable http caching in applet

How to disable browser applet cache..?

Java applet cached forever, not downloading new version?

귀하의 문제에 대한 몇 가지 해결책이 있습니다. 링크에서 더 많이 논의되는 것은 모든 애플릿 jar 파일에 대해 다른 이름을 사용하는 것입니다. 브라우저가 실행될 때마다 캐시에서 애플릿을로드하도록 브라우저에 애플릿을로드하기 위해 버전 번호 또는 기타를 추가하십시오. 위의 붙여 넣은 링크에서 더 많은 도움을 얻을 수 있습니다. 감사.

P. 관련성 순서대로 링크가 붙여 넣어집니다.

+0

덕분에 effrot :) –

관련 문제