2010-04-08 26 views
5

Bir java sunucum var, JSP kodu içinde bir şey değiştirdiğimde ve tarayıcıdan sayfayı tekrar aradığımda, değişikliklerim gösterilmiyor, sunucu eskiyi döndürüyor JSP.JSP sayfası önbelleğe alınmış, değiştirilemez, tomcat

Herhangi birinin fikri var mı? üstte

Seti web.xml''deki <context-param> etiketi

<context-param> 
    <param-name>weblogic.jsp.pageCheckSeconds</param-name> 
    <param-value>0</param-value> 
</context-param> 

Sende JSP sayfası:

+0

IDE kullanıyor musunuz, kullanmıyor musunuz? – BalusC

+0

Uygulamanızı bir savaş olarak dağıtıyor musunuz? –

cevap

11

The Jasper How-toconf/web.xml o söyler, sizin için org.apache.jasper.servlet.JspServlet ihtiyacınız olan:

  • development - Jasper geliştirme modunda mı kullanılıyor? Eğer doğruysa, JSP'lerin modifikasyon için kontrol edilme sıklığı, modificationTestInterval parameter.true veya false, default true ile belirtilebilir.
  • checkInterval - Geliştirme yanlışsa ve checkInterval sıfırdan büyükse, arka plan derlemeleri etkinleştirilir. checkInterval, bir JSP sayfasının (ve bağımlı dosyalarının) yeniden derlenmesi gerekip gerekmediğini görmek için çekler arasındaki süredir. Varsayılan 0 saniye.

The <Context> element aşağıdaki özelliklere sahiptir:

  • reloadable - dosyaları
  • antiResourceLocking
  • jsp ek olarak sınıf ve kütüphanelerini sıcak dağıtımını istiyorsanız true olarak ayarlanmış - yanlış olmalıdır
Yukarıdakiler sunucuyla ilgilidir. İstemci tarafı önbelleğe alma, sayfaların daha yeni sürümünü görememenizin bir başka nedenidir. Sadece CTRL + R/CTRL + F5'e basmak genellikle yeterlidir.

Önbellek stratejinize karar verme, farklı bir konudur ve farklı bir konu - tarayıcının önbelleğe ne kadar kaynaklık yapacağını ve ne kadar süre kullanacağınızı söyler misiniz? Tercihen, önbellek başlıkları - Expires ve Cache-Control (ve Pragma) uygulamanızın ortak bir yerine koymanız gerekir; burada hızlı bir şekilde değiştirebilirsiniz.

-1

Sen 2 şeyler yapıyor deneyin olabilir

<% 
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 
response.setHeader("Pragma","no-cache"); //HTTP 1.0 
response.setDateHeader ("Expires", 0); 
%> 
+0

Weblogic? OP Tomcat kullanıyor. İkinci kısım sadece istemci tarafı maddesini düzeltir. – BalusC

4

Ayrıca uygulamayı (Tomcat WebApp Yöneticisi'ni kullanarak) durdurup, uygulamanın tomcat dizinindeki "iş" klasörünü silebilirsiniz. Bu, tomcat'in yeni JSP'leri kullanarak önbellek dosyalarını yeniden oluşturmaya zorlayacaktır. /usr/apache-tomcat-XXX/iş/Catalina/localhost/

Sadece uygulamanızın adının klasörü silin ve yeniden başlatma:

önbellek dosyaları ile klasör yolu böyle bir şeydir uygulama.

İlgili konular