Struts2 ile Merhaba Dünya uygulamas



Benzer belgeler
JSF Melih Sakarya. Java Server Faces Facelet

Maven Projesi Olu?turmak

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

Front Controller Tasarım Şablonu KurumsalJava.com

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

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

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

MASTER PAGE SAYFASI KULLANIMI

BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

Intercepting Filter Tasarım Şablonu KurumsalJava.com


İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

JBoss Seam Next Generation Integration Framework

MOBİL UYGULAMA GELİŞTİRME

Note: If you want to validate a page containing frames, be sure the DTD is set to "Frameset DTD". Read more about XHTML Validation.

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.

sstproje2 Java Server Faces ile Stajyer Arama Ege Üniversitesi Bilgisayar Mühendisliği Sunucu Yazılım Teknolojileri Proje-2 Umut BENZER

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Binary Tree nedir?uygulamas nasl yaplr?

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

SINIF İÇİ UYGULAMA KODLARI

Erişim konusunda iki taraf vardır:

Web Site Tasarımı (Html-Css) (SD0139) Murat KARA 2017

Java da İstemci Tarafı Uygulamalar

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI

Başlangıç seviyesinde Maven, JPA ve Spring Dökümanı

PAKET TRANSFER SİSTEMİ

Android Ders Notları

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

BİLGİSAYAR 4 MOLEKÜLER BİYOLOJİ VE GENETİK BÖLÜMÜ YARD. DOÇ. DR. MEHTAP YALÇINKAYA

Java EE 5 Teknolojileri Jboss Seam

11. STIL ŞABLONU (CSS) MENÜ İŞLEMLERİ

Web Tasarımının Temelleri

GridView ve DetailsView kullanarak kayıt düzenlemek

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

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

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

VERİTABANINA BİLGİ KAYDEME, DÜZENLEME, LİSTELEME İŞLEMLERİ

İNTERNET PROGRAMCILIĞI I

Android Kaynakları (Resources)

Java Programlamaya Giriş

HTML TABLO OLUŞTURMA HALİL İBRAHİM AKGÜN

JAVA PROGRAMLAMAYA GİRİŞ

Client Server Database

Proje 1. Arayüz Tasarımı

Özcan Acar 2009 Kurumsal Java.com

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

Üst Düzey Programlama

SAYFALAR ARASI LİNK VERME VE BİLGİ TAŞIMA YÖNTEMLERİ

JavaScript Örnekleri PDF

MOBİL UYGULAMA GELİŞTİRME

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Burak Kıymaz JAVA FX

BİLGİSAYAR 4. MOLEKÜLER BİYOLOJİ VE GENETİK BÖLÜMÜ HTML DERS NOTLARI 9. DERS Tablolar (HTML Giriş) YARD. DOÇ. DR.

WEB TABANLI PROGRAMLAMA

Üst Düzey Programlama

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

BIM CENG 307 BİRİNCİ DÖNEM

Android ile SQLLite Veri Tabanı

Tomcat Uygulama Sunucusunun Kurulumu. İlk olarak adresine gidiyoruz.


«BM364» Veritabanı Uygulamaları


JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

2-Hafta Temel İşlemler

PHP ile İnternet Programlama

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

Üst Düzey Programlama

Java Class Yapısında Finalize Metotunun Kullanımı

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

Üst Düzey Programlama

EGE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ SUNUCU YAZILIM TEKNOLOJİLERİ LABORATUAR PROJESİ JAVA SERVER FACES

1 - Button Kontrolu Nasıl Yapılır?

J-Guar Apache Server Load Balance

Klavyeden Basit Giriş/Çıkış İşlemleri

Web sayfaları içinde tablolara sıkça ihtiyaç duyarız. Bu eğitim belgesinde temel tablo etiketlerini ve kullanımlarını öğreneceğiz.

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

PAKET TRANSFER SİSTEMİ

<html> <head> <title>sayfa Başlığı</title> </head> <body> Bu benim ilk sayfam <b>bu metin koyu</b> </body> </html>

WEB TASARIM. CSS, IFRAME, TEMPLATE, SLICE, INCLUDE(php komutu) Tarık ÖZEL

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

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

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java

7. HAFTA. Erişim Belirleyiciler

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

BİL-142 Bilgisayar Programlama II

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU

Bİ L 131 Hafta 2. 1) Bilgisayara Java SE Development Kit 7 kurulması

PAKET TRANSFER SİSTEMİ

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

Transkript:

Yazar : Tu çe Kalkavan Web : tugcekalkavan.net admin@tugcekalkavan.net Bili³im Blo u Struts2 ile Merhaba Dünya uygulamas Bu yazda Struts2 ile ilk uygulamamz yapaca z. 1 Açklamalar Öncelikle,struts2 ortamn hazrlayp uygulamaya koyulabiliriz. Struts2 ortamnn hazrlanmasn alttaki linkte bulabilirsiniz. http://tugcekalkavan.net/2011/10/23/struts2-ortaminin-eclipsede-hazirlanmasi/ 2 Hazrlk Struts2'de önemli olan bir Action yaratmaktr. Struts2'de Action yaratabiliyorsanz,i³in büyük ço unlu unu hallettiniz demektir. Öncelikle bize gerekli olar dosyalardan size bahsetmek istiyorum. Struts2 kütüphanesinden belirli kütüphaneler gereklidir.bizim kullaca mz libraryler ilk etapta ³unlar olacak. 1. commons-logging-1.1.jar 2. freemarker-2.3.8.jar 3. ognl-2.6.11.jar 4. struts2-core-2.0.6.jar 5. xwork-2.0.1.jar Siz siz olun,bütün kütüphaneleri import etmeyin,çünkü struts2de e er böyler bir ³ey yaparsanz hata alrsnz. Actionlara geri dönelim.struts2de önemli olan bir Action yaratmaktr demi³tik. Bunu yapmak için ³u admlar izleyece iz. tugcekalkavan.net Bili³im Blo u Sayfa: 1 / 9

1. com.opensymphony.xwork2.actionsupport snfndan miras alan bir snf yarataca z. 2. Bu snfa execute metodu tanmlayaca z. 3. Bu metoddan bir String de eri döndürece iz,çünkü struts.xml dosyamz buna göre karar verip gerekli dosyaya bizi yönlendirecektir. 4. struts.xml dosyamzn,gerekli Actionundan dönen de ere göre view yani bir jsp dosyasna yönlendirme yapaca z. Yapacaklarmzn özeti yukardaki gibi olacaktr.çok karma³k gibi gözüksede mvc yapsna biraz a³ikarsanz uygulamadan sonra mant n daha iyi kavrayacaksnz. imdi projemize ba³layabiliriz! 3 Uygulama Öncelikle Eclipse'i açp File->New->Dynamic Web Project sekmesinden yeni proje olu³turuyoruz ve adna MerhabaDunya diyoruz. lk yapmamz gereken libraryleri kopyalamak olsun. ndirmi³ oldu unuz struts2 dosyalarndan yukarda belirtti im dosyalar bulup, Web Content->WEB-INF->lib klasörüne kopyalyoruz. tugcekalkavan.net Bili³im Blo u Sayfa: 2 / 9

Resimde gördü ümüz gibi,struts.xml dosyasn src klasörüne atyoruz. imdi,src klasörü altnda merhabadunya adnda bir java snf olu³turalm ve extends ActionSupport ile gerekli snfmz miras alalm. Tabi ki bundan öncesinde import com.opensymphony.xwork2.actionsupport; ile snfmz import etmeyi unutmayalm. imdi gerekli kodumuzu yazalm. tugcekalkavan.net Bili³im Blo u Sayfa: 3 / 9

4 merhabadunya.java import com.opensymphony.xwork2.actionsupport; public class merhabadunya extends ActionSupport { /** * */ private static final long serialversionuid = 1L; private String mesaj; public String execute() throws Exception{ setmesaj("struts2 - Merhaba Dunya Uygulamasini basardiniz!!bu mesaj merhabadunya.java'dan return SUCCESS; } public void setmesaj(string mesaj){ this.mesaj=mesaj; } public String getmesaj(){ return mesaj; } } 5 Açklama:merhabaDunya.java Burada ne yapm³ olduk? Yazmn ba³nda da bahsetti im gibi bir execute metodu olu³turduk ve içinde set metodumuzla yaz yazp bir string yani SUCCESS döndürdük. Execute metodumuz ³art myd? Execute metodu struts2 uygulamalar için ³art de ildir ancak ilk dersimiz oldu u için ve çal³p çal³mad n daha iyi anlamak adna bu metodu kullanmamz daha yararl olacaktr. imdi gelelim en önemli noktaya.src klasörümüzde yer alan struts.xml dosyamz açp gerekli kodlar yazmaya ba³layalm! tugcekalkavan.net Bili³im Blo u Sayfa: 4 / 9

6 struts.xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.enable.dynamicmethodinvocation" value="false" /> <constant name="struts.devmode" value="true" /> <package name="default" extends="struts-default" namespace="/"> </package> </struts> <action name="merhabadunya" class="merhabadunya"> <result name="success">mesaj.jsp</result> </action> merhabadunya.java dosyamz Struts2'ye tantan yukarda action tagnda yer alan ksmdr. 7 Açklama:struts.xml Bu ksm ilerki uygulamalarda daha detayl anlataca m,ksaca bahsetmek gerekirse koddanda anla³laca gibi package name yerine paket ad yazlr. Burada daha önemli olan actiontagdr.görüldü ü gibi 2 parametre alyor. 1. name parametresi actionunuza bir isim atar ve bu isimle adres çubu undan eri³lebilirsiniz. 2. class parametresi ile ad üstünde hangi snfmz bu actiona ba layaca mz belirtiriz.bizim snfmz merhabadunya.java oldu u için merhabadunya yazdk.unutmayalm,burada belirtirken her zaman paket ismiyle belirtmeniz lazm. 3. Asl önemli olan result tagdr.result tagnda anlatlmak istenen ³ey;e er action snfmdan string olarak "success" dönerse beni mesaj.jsp sayfasna yönlendir.e er hata ile ilgili bir³ey yapmak isteseydik bir tane error result tag koyup,action snfmzda ona göre tanmlayabilirdik. tugcekalkavan.net Bili³im Blo u Sayfa: 5 / 9

8 index.jsp imdi gerekli olan mesaj.jsp ve ba³langçta açlacak olan index.jsp sayfalarmz açalm.bu sayfalar WEB-CONTENT dizininde olmaldr. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>merhaba Dünya</title> </head> <body><center> <table border="0" cellpadding="0" cellspacing="0" width="400"> <tr> <td> <h2>tugcekalkavan.net'e hosgeldiniz</h2> <h3>struts-2 Merhaba Dünya Uygulamas\T1\i </h3> <ul> <li><a href="merhabadunya.action">merhaba Dunya uygulamasinin calismasini gormek icin tiklayiniz</a></li> </ul> </td> </tr> </table></center> </body> </html> 9 mesaj.jsp <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <%@taglib prefix="s" uri="/struts-tags" %> <head> <title>sturts2 Merhaba Dunya Uygulamasi</title> </head> <body> <h2>tugcekalkavan.net Strust2 - Merhaba Dunya Uygulamasi</h2> <s:property value="mesaj" /> tugcekalkavan.net Bili³im Blo u Sayfa: 6 / 9

</body> </html> 10 web.xml <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/we <display-name>iletisimyonetimi</display-name> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.filterdispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> tugcekalkavan.net Bili³im Blo u Sayfa: 7 / 9

</welcome-file-list> </web-app> 11 Açklama: web.xml Yukardaki kodlar açklamak gerekirse, lter tagyla, yapt mz uygulamnn struts2 oldu unu belrtiyoruz. Burada dikkatinizi çekmek istedi im nokta ise,ba³langça açlan dosyamz index.jsp olarak ayarlamamzdr ama bu tamamen iste e ba ldr. 12 Sonuç Ve i³te tamam!e er tüm bu admlar izlediyseniz artk struts2 ile ilgili bir proje yaptnz demektir. Projenin üstüne gelip sa tklayp Run As->Run on Server diyip tomcat 6.0 y seçin.daha sonra web taraycnza http://localhost:8080/merhabadunya/ yazn ve uygulamanz çal³trn! Merhaba Dünya uygulamasnn çal³masn görmek için tklaynz linkine tkladktan sonra actionumuzun çal³t n göreceksiniz. tugcekalkavan.net Bili³im Blo u Sayfa: 8 / 9

Bu mant anladysanz struts2 ile action geli³tirebilirsiniz demektir! 13 Kaynak kod http://www.tugcekalkavan.net/dersler/merhabadunya.war Tu çe. tugcekalkavan.net Bili³im Blo u Sayfa: 9 / 9