20 Nisan 2011 Çarşamba

Java Portlet Sınıfında DoView()’a İki Kez Girme Sorunu

Merhaba,

Java’da portlet geliştiren arkadaşlar için, internette kolay kolay bulamayacağınız bir bilgi paylaşmak istiyorum. Başıma gelen bir sorunun nasıl çözülebileceğini anlatacağım.

Yazıma başlamadan önce, sorunla Sun Java Portlet ve Netbeans 6.5.1’de karşılaştığımı belirteyim. Portlet geliştiren arkadaşlar bilirler, herhangi bir IDE tarafından oluşturulan default portlet sınıfında gelen doView, processAction gibi metodlar bulunur. DoView metodu, portlet sayfaları her yükleneceğinde yapılması gereken işleri içerir. ProcessAction ise, formdan post yapıldığı zaman yapılacak işlerin bulunduğu metoddur.

Normal şartlar altında, portlet ilk açıldığında ya da form post edilip processAction metodundaki işler tamamlanıp metoddan çıkıldığında uygulama doView metoduna bir kez girer. Problem ile tam olarak burada karşılaştım. Sorun, herhangi bir işlemden sonra uygulama doView metoduna girip, işlemleri yaptıktan sonra, bir jsp sayfasını render etmesi gerekirken, doView metoduna ikinci kez giriyordu. Dolayısıyla bu durum, session yönetimini olumsuz etkiliyor ve sorunlar çıkarıyordu.Statik değişkenler, gözden kaçırılan kodlar gibi bir çok kısmı aradım taradım fakat sonuç bulamadım. Şu an kaynağını hatırlamadığım, içerisinde 2 adet post bulunan bir forum köşesinde sonuca ulaştım. Problem, render edilen jsp sayfasındaki kırık bir linkten kaynaklanıyordu. Yani, javascript, css dosyaları ya da direkt olarak jsp dosyalarını içerisinde bulunan kırık bir link (resim, video, dosya vs.) buna sebebiyet veriyordu.

Tüm araştırmalarıma rağmen sebebini hala bulamadım fakat benzer sorunu yaşayan arkadaşlar için umarım yardımcı olabilmişimdir. Tespit ettiğiniz kırık linki düzeltmek, sorununuzu çözecektir.

( sun, java, portal, portlet, doview, twice, çift, iki kere, netbeans )

Hiç yorum yok:

Yorum Gönder