Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Benzer belgeler
Üst Düzey Programlama

Client Server Database

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

Java EE 5 Teknolojileri Jboss Seam

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

ÖZGÜR YAZILIMLAR İLE J2EE

JavaServer Faces (JSF) Sunucu Yazılım Teknolojileri 2008

.com. Özcan Acar 2009 Kurumsal Java.com

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Üst Düzey Programlama

Üst Düzey Programlama

HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir.

MVP, Observer ve Mediator Örüntüleri ile Yeniden Kullanılabilir Uygulama Bileşenleri Geliştirme

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Üst Düzey Programlama

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

Java. Hakkımızda. Java Eğitimi

MyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji

Öğr. Gör. Serkan AKSU 1

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Web Tabanlı J2EE Uygulamalarında Struts Framework & Hibernate Desteği

MVP ve Mediator ile Loose Coupled, Modüler UI Geliştirme

Basit bir web uygulaması

Java Programlama Giriş

Tasarım Desenleri ve Java Web Servisleri ile Çok Katmanlı Bir Sistem Tasarımı

Struts2 ile Merhaba Dünya uygulamas

JSF Melih Sakarya. Java Server Faces Facelet


Özcan Acar 2009 Kurumsal Java.com

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

PROGRAMLAMA DERSİ 1. İNTERNET

JBoss Seam Next Generation Integration Framework

Spring Security Framework Harezmi Bilişim Çözümleri

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Chapter 6 Mimari Tasarım. Lecture 1. Chapter 6 Architectural design

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

.com. Kurumsal Java. Özcan Acar com

TeamBase5 BELEDİYE İLETİŞİM MERKEZİ SIEMENS

Web Uygulamaları Mimarileri ve Güvenliği

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

REQUEST QUERY STRING. Sayfalar: default.aspx ve sorgu_sayfasi.aspx. default.aspx sayfası: sorgu_sayfasi.aspx sayfası:

PHP 1. Hafta 1. Sunum

Spring Framework Eğitimi

JBoss Seam. Melih Sakarya

MODEL VIEW - CONTROLLER (MVC) TASARIM KALIBI

Swing ve JDBC ile Database Erişimi

Üst Düzey Programlama

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

PAKET TRANSFER SİSTEMİ

Spring Application Framework Harezmi Bilişim Çözümleri

PAKET TRANSFER SİSTEMİ

ANKARA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. Java Teknolojileri Kullanılarak. Kan Bağış Web Uygulamasının Tasarlanması

19 Şubat 2016 Cuma

Rahman USTA Editör Altuğ B. ALTINTAŞ Papatya Yayıncılık Eğitim

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

YZM 3215 İleri Web Programlama

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

Açık Kaynaklı J2EE Geliştirme Araçları. Ahmet Işık İdeal Teknoloji A.Ş.

Spring Framework Eğitimi

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Üst Düzey Programlama

Web Tabanlı Uygulama Geliştirme Çatıları

Test Yönelimli Yazılım Geliştirme Metodlarının J2EE Platformu ve Bileşen Modellerine Uygulanması Üzerine Bir Çalışma

Spring Application Framework e Giriş

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır.

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Tekir (Ön Muhasebe Yazılımı)

PHP 1. Hafta 2.Sunum

Film Arşiv Sistemi. Yazılım Tasarım Belgesi

Burak Kıymaz JAVA FX

EGE ÜNĐVERSĐTESĐ BĐLGĐSAYAR MÜHENDĐSLĐĞĐ SUNUCU YAZILIM TEKNOLOJĐLERĐ LABORATUAR PROJESĐ

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

JSTL DOKÜMANI. İçindekiler. Yazan: Elif Yavuz

JAVA API v2.0 Belge sürümü: 2.0.2

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler.

OPC Data Access (DA) Temelleri


Sunum İçeriği. Programlamaya Giriş

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Proje 1. Arayüz Tasarımı

Android Ders Notları

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

Front Controller Tasarım Şablonu KurumsalJava.com

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları. Burak USGURLU

İŞLETİM SİSTEMLERİ. (Operating Systems)

ASP.NET ile Bir Web Sitesi Oluşturma

MOBİL UYGULAMA GELİŞTİRME

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

«BM364» Veritabanı Uygulamaları

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Java Dersi. Altuğ Bilgin Altıntaş

Transkript:

1

Apache Struts Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. Kullanıcılara MVC mimarisini benimsetmek için Java Servlet API sini kullanıyor. Model-View-Controller basit olarak nedir? Model: Veritabanıyla etki halindeki uygulama mantığıdır. View: İstemciye gösterilen HTML sayfalarıdır. Controller: Bilgiyi model ve view arasında taşıyan aşamadır. Struts ile hedeflenen, model i view ve controller dan ayırmaktır. 2

WebWork ile Birleşme WebWork nedir? WebWork de Struts gibi bir Java web uygulama geliştirme framework üdür. OpenSymphony tarafından geliştirilmiştir. 2005 yılında Struts2 çalışması altında birleşmeye karar veriyorlar. 3

MVC Design Pattern Nedir? Kullanıcıya yüklü miktarda verinin sunulduğu karmaşık uygulamalarda veri ve gösterimin soyutlanması esasına dayanır. Böylece veriler (model) ve kullanıcı arayüzü (view) birbirini etkilemeden düzenlenebilir. MVC, bunu controller adı verilen ara bileşenle, veri gösterimi ve kullanıcı etkileşiminden, veri erişimi ve iş mantığını çıkarma suretiyle çözmektedir. M(Model): İş Mantığını ve veri işleme süreçlerini yürütür. C(Controller) tarafından gönderilen emirlere göre hareket eder. Bilgi işleme sürecinden sonra veriyi C (Controller) ye, diğer modellere veya doğrudan V (View)'e gönderir. V(View): Son kullanıcıya gösterilecek olan verinin sunumu ile ilgilenir. V (View), bu bilgiyi C veya M'den alır, aynı zamanda son kullanıcıdan gelen talepleri C'ye iletir. C(Controller): Controller ise sistemin ana kısmıdır. Gelen talepleri kontrol eder ve sistemin diğer elemanlarının (M,V) bilgiyi uygun şekilde alıp, göndermelerini sağlar. 4

Servlet, JSP, Model 1,Model 2 Yalnız Servlet: Çok fazla out.println gerekiyor. Okuması güç. Yalnız JSP: Küçük uygulamalar için uygun görünse bile, kodun içine HTML gömmek garip. Okunması ve bakımı güç. JSP + Java Beans (Model 1): Küçük uygulamalar için uygun. Bean ler model kısmını, JSP ise view kısmını oluşturuyor. Birden fazla view kullanılması gerektiğinde etkin değil. 5

Servlet, JSP, Model1, Model2 JSP + Java Beans + Servlet (Model 2): İstek doğrudan servlete yapılıyor ve controller işlevi üstleniyor. Model işlevini Java Bean, view işlevini ise JSP page üstleniyor. Struts2 de Model2 MVC şablonu kullanılıyor. 6

Struts2, Model 2 yi nasıl kullanıyor? Action servlet adında özelleşmiş bir servlet kullanılarak control kısmı gerçekleştiriliyor. Ayrıca Form bean adında özelleşmiş bir bean kullanıyor. JSP ilgili HTML i göstereceği zaman form bean i kullanıyor. Form bean de, forma konulacak değerleri iş mantığı kısmından almış oluyor. 7

Struts 2 Mimarisi Struts 2 de model, view ve control sırasıyla Action, Result ve FilterDispatcher ile uygulanmaktadır. FilterDispatcher, controller görevini kullanıcı isteğini uygun action la eşleştirerek yapmaktadır. Model, veri ve iş mantığını kapsamaktadır. JDBC, EJB, Hibernate vb. ile veri erişimine olanak sağlar. Struts 2 de model, Action bileşeni tarafından gerçekleştirilmektedir. JSP, JTL, JSF, Jakarta Velocity Engine, Freemaker ya da başka sunum katmanı teknolojisi kullanarak view işlevi gerçekleştirilir. 8

İsteklerin (Request) İşletilmesi 9

Struts 2 Uygulamalarındaki İstek (Request) Yaşam Döngüsü 1. Kullanıcı istek gönderir: Kullanıcı sunucudan kaynak isteğinde bulunur. 2. FilterDispatcher uygun actioni ı seçer: FilterDispatcher isteğe bakar ve uygun Action ı belirler. 3. Interceptorların kullanılması: İş akışı, onaylama, dosya yükleme gibi fonksiyonlar Interceptor ın yapılandırılmasıyla kullanılır. 4. Action Çalıştırılır: Veritabanı ile ilgili operasyonlar action metodunun çalıştırılmasıyla gerçekleştirilir. 5. Sonuçlar render edilir: Sonuçlar Result tarafından render edilir. 6. İsteğin döndürülmesi: İstekler terrs sırada interceptor lardan döner. Dönen istek sayesinde temizleme veya fazladan işlem yapabiliriz. 7. Sonuçları kullanıcıya göster: Son olarak kontrol servlet container a döner ve kullanıcı browser ına çıktıyı gönderir. 10

Peki Neden Struts2? Açık kaynak, 3. parti araç desteği fazla, Esnek ve geliştirilebilir, Geniş kullanıcı ve geliştirici kitlesi, Zengin tag kütüphanesi (html, bean tag), Test etmek ve debug yapmak kolay. 11

Struts2 İşimizi Nasıl Kolaylaştıracak? Örnek bir JSP kodu: Jsp file: <input name= txtamount > </input> In Bean or Jsp file: String stramount = request.getparameter( txtamount ); double amount = 0.0; try{ double amount = Double.parseDouble(strAmount ); }catch(exception e){} bean.setamount(amount); boolean flgresult = ejbobject.processamount(amount); if(flgresult){} else{} 12

Struts2 İşimizi Nasıl Kolaylaştıracak? Aynı kodun Struts2 kod örneği: Jsp file: <s:textfield label= Amount" name= amount" value="%{amount}" /> Action dosyasındaki tek ihtiyacımız getter ve setter lar. double amount; public double getamount(){ return amount;} public void setamount(double amount){this.amount = amount;} Fazladan koda ihtiyaç duymadan action method içindeki amount değişkenini doğrudan kullanabiliriz. public String execute() throws Exception{ // use amount directly return success ; } 13

Dinlediğiniz için teşekkür ederiz... 14