Fihrist

26 Şubat 2013 Salı

JAR İmzalamak

Applet'ler tarayıcılarda çalıştırılacağı zaman tarayıcı applet'in imzasını kontrol ediyor. Eğer güvenilir bir sertifikaya sahip biri tarafından imzalanmamışsa kullanıcıyı uyarıyor. Elimizdeki applet JAR'ını imzalamak için öncelikle

keytool -v -importkeystore -srckeystore myPfxFile.pfx -srcstoretype PKCS12 -destkeystore myKeyStore.jks -deststoretype JKS

diyerek JKS tipinde bir keystore oluştururuz. Bu sırada PFX dosyasını açabilmek için şifresini soruyor ve sizden yeni keystore'unuz için parola belirlemenizi istiyor. JKS dosyanızı oluşturduktan sonra

keytool -list -v -keystore myKeyStore.jks

diyerek keystore'un içindeki anahtarları görebiliyorsunuz. Burdan hangi anahtarı istiyorsanız onun alias'ını not edin. İmza atarken onu kullanacağız.

jarsigner -keystore myKeyStore.jks -storepass myStorePass myJarFile.jar myAlias

diyerek imzalamayı gerçekleştiriyoruz. İmzalanınca JAR'ın içinde .SF ve .DSA veya .RSA (imzacınızın algoritmasına göre) iki dosya oluşuyor. Oradan kontrol edebilirsiniz. İmza mevcut JAR dosyasının üzerine yazıyor. Bu arada JAR'ları sıkıştırma programları vasıtası ile açıp içine bakabilirsiniz. Tavsiyem 7zip. Keytool v jarsigner JDK ile geliyor. Bunu da hatırlatmakta fayda var.

JSTL

Servlet ile JSP'nin haberleşmesinin çeşitli yolları var. Tavsiye edilmeyeneni bu iki yapıyı iç içe geçmiş halde kullanmak, yani JSP sayfasında scriptlet yazarak <% %> tag'leri içinde Java sınıflarınıza ulaşmak veya Java sınıflarınızın içinde JSP'lere HTML yazdırmak gibi. Tavsiye edilen ise bütün HTML kodlarının JSP sayfasında olması. JSP'den HTML form kullanarak yazdığınız servlet'lere veri gönderebilirsiniz. Servlet içinde de bir değişkene istediğiniz veriyi atıp JSTL ile bunları JSP içinde kullanabilirsiniz.

Servlet sınıfınızın içinde doPost veya doGet içinde,

request.setAttribute("myAttributeName", myObject);

şeklinde göndereceğiniz objeyi JSP üzeirnden ulaşacağınız isim ile eşleştirin. Daha sonra,

request.getRequestDispatcher("myJspPage.jsp").forward(request,response);

diyerek JSP'ye gönderin. JSP içinden de

${myAttributeName}

diyerek ulaşabilirsiniz.

JSTL daha bir çok özellik barındırmaktadır koşul ve döngü gibi. JSTL kullanmak için indireceğiniz JSTL jar'ını eklemeyi unutmayın.


IDEA'da Tomcat ile çalışmak

Resimli ama İngilizce olarak
http://wiki.jetbrains.net/intellij/Creating_a_simple_Web_application_and_deploying_it_to_Tomcat
adresinden ayarları yapabilirsiniz.

Bu şekilde artık Idea Tomcat'i tanıyor olacaktır. Daha sonra linkteki adımları takip edip web projesi de oluşturabilirsiniz. Fakat projenize tanımlı Application Server'ları göstermezseniz istediğiniz gibi çalışamazsınız. Mesela HttpServlet kullanmak için onun jar'ını build path'de bulundurmalısınız. Elle eklemek yerine bütün kütüphaneyi göstermek daha mantıklı olacaktır.

Web projesinin istediğiniz bir Application Server'ı görmesini sağlamak için o kütüphaneyi göstermeniz lazım. Projeyi seçip F4'e basıp sağdaki +'yı tıklayın ve Libraries deyin. En aşağıda Application Servers görünecektir. Oradan ekli Server'lardan, mesela az önce eklediğimiz Tomcat 7, birini seçebilirsiniz.