|
Struts Sisteminin Kurulumu
Jul 26,2007 00:00
by
canawar
1. Struts Nedir? Struts projesi Jakarta grubu tarafından Java Server Pages ve Java Servlet tabanlı web uygulamalarının belli bir kalıba (MVC-2) uygun olarak geliştirilmesini kolaylaştırmak için oluşturulmuştur. Struts sistemi web sayfası tasarımcısının tasarıma, yazılım geliştiricisinin ise iş mantığına odaklanmasına olanak sağlar.
Bildiğimiz gibi Java Servlet teknolojisi geliştirilerek Java programlama dili ile sunucu (server) taraflı web uygulaması geliştirmenin temelleri atılmıştır. Servlet teknolojisi, Java sınıflarından oluştuğu için istemciden gelen istekleri Java servlet sınıflarına yönlendirecek bir Servlet kabına (Container) ihtiyaç duymaktadır (bkz Şekil-1). En çok kullanılan Servlet kapları Apache Tomcat, Websphere v.b. Gelen isteğe göre istemciye gönderilecek cevap (HTML etiketleri ?) servlet sınıfı içinde oluşturulmaktadır. Cevap olarak gönderilen HTML etiketlerinde (HTML tag) değişiklik yapmak istediğimizde Servlet sınıfı içinde değişiklik yapıp derlememiz gerekir. Bu da uygulama esnekliğinin kaybolmasına, tasarımcının Java kodlarıyla uğraşmasına neden olur. Servlet ile web uygulaması geliştirmedeki zorluğu ortadan kaldırmak için daha sonraları Java Server Pages (JSP) teknolojisi geliştirildi. JSP teknolojisinin temelini, XML / HTML etiketlerinden ve bunların aralarına script olarak konulan Java kodlarından oluşan jsp uzantılı dosyalar oluşturmaktadır. Tomcat gibi kaplar tarafından web uygulaması yüklenirken jsp uzantılı dosyalar arka tarafta Servlet sınıflarına dönüştürülüp derlenmektedir. JSP teknolojisi geliştirilmesi ile Servlet teknolojisindeki sorunların kalkmasına rağmen yeni sorunlar ortaya çıkmıştır. Özellikle uygulama geliştirme (development) aşamasından önce herhangi bir tasarım, modelleme gibi yazılım geliştirme aşamalarının uygulanmadığı projelerde iş mantığının tamamı veya bir kısmı Java kodu olarak jsp sayfalarına gömülmektedir. Üstelik aynı işi yapan ama farklı sonuç gösteren jsp sayfalarında ise Java kodları kopyalanmaktadır. Böylece kod tekrarları oluşmakta, jsp sayfalarının yönetimi zorlaşmakta, kod güvenliği ortadan kalkmaktadır. Web tabanlı projelerde karşılaşılan bu tür sorunları ortadan kaldırmak için MVC (Model View Controller) tasarım kalıbına uyularak bir çok sistem yaratılmıştır : Barracuda, Expresso, Maverick v.b. Struts projesinde MVC-2 tasarım kalıbı kullanılmıştır. Yani istemci tarafından gelen istekler ilk olarak Yönetici Servlet (Controller Servlet) tarafından karşılanmakta ve Java Bean'e, JSP sayfasına yada Servlet'e yönlendirilmektedir. 2. Struts'ı Neden Kullanmalıyım Struts ile;
Struts kurulumunu Tomcat sunucusu üzerinde yapacağız. Bunun için sistemimizde Tomcat sunucusunu kurup çalışır hale getirmemiz gerekir. Tomcat sunucusunu ve Struts paketini http://jakarta.apache.org adresinden indirebilirsiniz. Genel olarak web uygulamalarımızı Tomcat kurulum dizini altındaki webapps klasöründe oluştururuz. Yine bu dizin altında struts_ornek_1 adında yeni bir dizin oluşturalım. Yapacağımız ilk struts uygulamasını struts_ornek_1 klasörü altında oluşturacağız Struts paketi içinde lib dizini altındaki jar uzantılı dosyaları struts_ornek_1WEB-INFlib dizini altına kopyalayalım. Bu dizin struts_ornek_1 uygulaması tarafından kullanılacak paketleri içerir. (bkz Şekil-4) Yine Struts paketi içindeki lib dizininde bulunan tld ve xml uzantılı dosyaları struts_ornek_1WEB-INF dizini altına koplayalım. tld uzantılı dosyalar Özel Etiketlerin (Costum Tag) tanımlamalarını içerir. Kopyaladığımız tld dosyaları jsp sayfalarında kullanacağımız Struts Özel Etiketlerinin tanımlamalarını içerir. Validator-rules.xml dosyasında genel olarak kullanılan form kontrollerinin JavaScript tanımlamaları bulunmaktadır. Gerekli dosyaları kopyaladıktan sonra web.xml ve struts-config.xml konfigurasyon dosyalarını WEB-INF dizini altında oluşturalım. web.xml dosyası uygulamaya ait Tomcat ayarlarını, struts-config.xml ise Struts ayarlarını içerecektir. 4. web.xml Dosyasının Oluşturulması<?xml version = '1.0' encoding = 'windows-1254'?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <description>Empty web.xml file for Web Application</description> <servlet> 1. <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> 2. <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> 3. <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <servlet-mapping> 4. <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list> 5. <taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> </web-app>
Aslında Struts sisteminin kurulumu için yapılması gerekenler bu kadar diyebiliriz. Bundan sonraki aşamalarda artık projeye yönelik yapılması gerekenler olacak. Bu aşamalar:
|