jsp etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
jsp etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Mayıs 2015 Cumartesi

JSP hakkında genel bilgiler

JSP Page nedir?
JSP, yani Java Server Pages, HTML ile yazılmış ve içinde java kodu barındırabilen dinamik web sayfalarıdır (web component). *.jsp uzantılı bir html sayfası içerisinde <% %> tagları içine java kodu yazılır.
Bu sayfa baştan sona taranarak container tarafından arka planda bir servlete (yani java dosyasına) dönüştürülür. Ve o şekilde çalıştırılır.

JSP ile calismanin avantajlari nelerdir?
JSP'nin avantajı servlette olduğu gibi java kodu içinde html yazılmadığından karmaşıklığın az olmasıdır. Hem yazılması, hem de okunması servlete göre daha kolaydır.
Özellikle JSTL tagları kullanıldığında spagetti kod olmaktan çıkıp, çok daha okunaklı hale gelir.

JSP Request’lerinin islem adimlari nelerdir?
Browser bir jsp sayfasını çağırır.

1. Compilation

Container ilgili sayfanın daha önceden compile edilip edilmediğine bakar.
Eğer hiç compile edilmediyse, ya da edildikten sonra üzerinde değişiklik yapıldıysa, compile eder.
Compile işlemi 3 aşamalıdır: önce jsp sayfası parse edilir, servlete çevrilir, oluşan servlet compile edilir.

2. Initialization

Requeste cevap vermeden önce, container jsp sayfasını ilk kez yüklüyorsa jspInit() metodu ile initialization işlemi yapar (servlet'teki init() metodunda olduğu gibi).

Burada veritabanı bağlantıları kurulması, gerekli dosyaların açılması vb işlemler yapılır.

3. Execution

Bir jsp sayfası çağırıldığında, loading ve initialization işlemleri bittikten sonra container jsp'deki jspService() metodunu çağırır.
Bu metod HTTPServletRequest ve HTTPServletResponse parametreleri alır.
Bu metod her request için bir kez çalıştırılır.

4. Cleanup

Container jspDestroy() metodu ile jsp'yi yokeder. Bu metodu override ederek veritabanı bağlantılarını kapatma, açık dosyaları kapatma gibi işlemleri yapabiliriz.

Directive’ler nelerdir? JSP’te mevcut directive’ler nelerdir?


JSP action’lar nelerdir?


Scriptlet, Declaration ve Expression’lar nelerdir?


implicit objects nedir, ne ise yarar?


12 Mart 2015 Perşembe

JSP nedir?

JSP (Java Server Pages) nedir?

JSP, html kodu içerisine java kodu yerleştirme şeklinde çalışan bir web component'tir.

<% %> tagları içine yazılan kod tamamen java kodudur.
Arka planda JSP kodu satır satır çevrilerek yine servlete (java dosyasına) dönüştürülür.

Projeye sağ tıklayıp new JSP diyerek yeni bir JSP sayfası yaratabiliriz.
<% %> tagları içerisinde default olarak bir JSPWriter nesnesi "out" adıyla tanımlanmış bulunur.
Bu out değişkenini kullanarak ekrana yazdırabiliriz.

Bir JSP dosyasına sağ tıklayıp "view servlet" seçtiğimizde dosyanın servlete çevrilmiş halini, java kodunu görebiliriz.

JSP'nin artı ve eksileri

JSP arka tarafta javaya translate edildiğinden, bu aradaki çevirme işlemi nedeniyle servlete göre daha yavaş başlıyor.

JSPde aynı yerde iki ayrı dilde yazılıyor: hem java, hem html.
Bu nedenle ortaya bir spaghetti code problemi çıkıyor.
Yani birden fazla dilde kodlandığından okunulabilirliği çok düşük oluyor.
Ama JSTL yani Java Server Pages Standard Library kullanıldığında okunur hale geliyor.


Servlet vs. JSP vs. JSF

Servlet tasarımı kötü olduğundan ve basit bir işlem için çok fazla kod yazmak gerektiğinden kullanışlı değildir.
Servleti view olarak kullanmayız. Yani karmaşık olduğundan kullanıcıyla iletişime girmiyor.

Servlet ile JSP birbirine alternatif gibi görünse de aslında beraber çalışan teknolojilerdir.
MVC yani Model-View-Controller patternindeki view olarak JSP sayfaları, controller olarak da Servlet sınıfları kullanılıyor.





JSP ve servlet ile yazılmış bir web application'ı manuel olarak deploy etme

1. Öncelikle environment'ta path değişkeninde JDK_HOME\bin bulunduğunu kontrol etmek gerekiyor. Bunu tanımlamadıkça komut satırından javac ve jar toollarına erişemiyoruz.

2. Servleti compile etmek için :

javac -cp TOMCAT_HOME\lib\servlet-api.jar" -d CLASS_DIR SRC_DIR\MyServlet.java

TOMCAT_HOME:  c:\Program Files\Apache Software Foundation\Tomcat 7.0. (path boşluk içeriyorsa çift tırnak içine alınmalı)
CLASS_DIR = WebContent\WEB-INF\classes
SRC_DIR = src\net\codejava\servlet

3. War dosyası oluşturmak için :

jar cfv deploy\MyWebApp.war -C WebContent .

4. Tomcata war ı deploy etmek için :

copy deploy\MyWebApp.war TOMCAT_HOME\webapps

5. Tomcati çalıştırmak için :

TOMCAT_HOME\bin\Tomcat7.exe

6. Browserdan url girerek web applicationı çalıştırmak için :

http://localhost:8080/MyWebApp

Default olarak index.jsp çalışır.