2015-05-28 17 views
7

Bir JSP'yi getirmeye çalışırken web uygulamalarımın bir kaç zaman zaman neden 404 hatası attığını anlamaya yardımcı olmak için yardıma ihtiyacım var. Bunlardan biri JSP'ye doğrudan erişir, diğeri ise bir JSP'ye yönlendiren bir sunucuya sahiptir. Sayfalar çoğu zaman çalışır, ancak bazen bir 404 atar. Kullanıcı tarayıcısını 1-3 kez yenilerse, sayfa herhangi bir değişiklik yapmadan tekrar çalışmaya başlar. type: Status report message: /app_root/my_page.jsp description: The requested resource is not availableTomcat sunucum neden JSP'leri derlerken aralıklı 404 atıyor?

sorun JSP sayfalarını recompiling ile ilişkili olduğu görünmektedir: Burada

web tarayıcısı (Krom) görüldüğü gibi hatanın bir örneğidir. .war dosya ve genişletilmiş dizin değişmedi. WARNING: Failed to delete generated class file [D:\Apache Software Foundation\Tomcat 7.0\work\Catalina\localhost\app_root\org\apache\jsp\my_005fpage_jsp.class] May 19, 2015 6:32:24 AM org.apache.jasper.compiler.Compiler removeGeneratedFiles WARNING: Failed to delete generated Java file [D:\Apache Software Foundation\Tomcat 7.0\work\Catalina\localhost\app_root\org\apache\jsp\my_005fpage_jsp.java] May 19, 2015 6:32:24 AM org.apache.jasper.compiler.Compiler generateJava WARNING: Failed to delete generated Java file [D:\Apache Software Foundation\Tomcat 7.0\work\Catalina\localhost\app_root\org\apache\jsp\my_005fpage_jsp.java]

Tomcat 7.0.53 Java 1.7 çalıştırıyorum: Her 404 hatası karşılık günlüklerinde üç hata her zaman vardır. Tomcat, bir Windows 2008 R2 sunucusunda çalışıyor.

Şimdiye kadar denediğim, google'dan bulduğum bilgilere göre. Ancak, 404'ler devam ediyor.

  1. benim üretim ortamında gelişim modunu kapattım
  2. tüm Tomcat dizinde
  3. Engelli, Windows indeksleme 3600 (1 saat) [Not Varsayılan benim QA ortamında (4 saniye) içinde modificationTestInterval Artan
  4. : Şu anda sorunu yeniden oluşturmama yardımcı olmak için 0 olarak ayarlandı]
  5. Tomcat çalışma dizinindeki sahibi, hizmetin çalıştığı kimlikle aynı kimlikte değiştirildi.

Bu, yardımcı olup olmadığını görmek için çalışma dizini üzerinde virüsten koruma kapatıldığını görüyorum.

Bu sorun ürün prod ve QA sunucularında gerçekleşirken, yerel Tomcat örneğimde bu benim için oluşmaz. Aslında, QA ve Prod uygulamalarını çalıştırırken bile iş istasyonumdan sorunu görmedim. Sorun sadece diğer insanlar tarafından görüldü.

+0

çalışma dizini silmek ve yeniden nedir? – Rajesh

+0

Sadece bunu manuel olarak denedim. Yönetici ayrıcalıklarıyla gerçekleştirdiğim sürece çalıştı, ya yönetici özelleriyle cmd açıyor ya da Windows Gezgini'nde silerken açılan pencereyi açıyordu. – Spiritis

+0

Virüs taramasının devre dışı bırakılması yardımcı olmadı. Daha fazla test, bu sorunun sadece sunucu uygulamasının JSP'ye iletilmesiyle oluştuğunu ortaya çıkardı. JSP'ye doğrudan erişim iyi çalışıyor. Sadece tomcat servis hesabının tam kontrole sahip olmasını sağlamak için çalışma dizinini değiştirdim. Bu, yönetici kimliğini yetkilendirmek zorunda kalmadan dosyaları bu kimlikle silmeme izin veriyor. – Spiritis

cevap

2

Canlı sunucumuzda .war'u dağıttıktan sonra aynı sorunu yaşadım. <your tomcat directory> -> work -> Catalina -> localhost -> <your project> -> org -> apache -> jsp ->

3) için

1) erkek kedi sunucuyu

2) Git kapatın Manuel hem silin: Bunlar benim sorunu çözmek için takip adımlardır .class ve .java

4).war dosyasını ve dağıtılan klasörü webapps klasöründe bu sorunu içeren web sitesinden silin.

5) yeni .war İhracat ve webapps klasöre koyun.

6) Tomcat servisini tekrar başlatın.

Sunucu dağıtıldıktan sonra, otomatik olarak "iş" dizinindeki silinen dosyaları yeniden oluşturur ve web sitesi aralıklı 404 hatası olmadan yeniden kullanılabilir olmalıdır.

Umarım sizin için de çalışır.

1

Bu dosyanın veya klasörün yetkinliğini kontrol edin. Genellikle bu sorun, klasörlere erişim eksikliğinden kaynaklanır.

2

Web uygulaması tarafından kullanılan JSP çözümleyici tarafından oluşturulan Tomcat kapsayıcı .java ve .class dosyaları. Bazen bunlar bozulur veya bulunamaz. Bu, JSP'lerde değişiklik içeren bir düzeltme eki veya yükseltme sonrasında ortaya çıkabilir.

Çözüm sadece basitçe hangi erkek kedi ile çalıştıran bir kullanıcı olarak oturum elle ederken silme oluşturulan sınıf dosyasını girişiminde tomcat