Tomcat / JSF Kurulumu
7 November 2008 FridayBu yazıda JSF’nin Tomcat 6 üzerine kurulumunu açıklamaya çalışacağım. Çalışma sonunda çok basit bir JSF uygulama da yazıp, JSF’nin nasıl çalıştığı konusunda bir fikir vermeye çalışacağım.
JSF’nin son sürümü 1.2, servlet 2.5 ve JSP 2.1 gerektirmektedir. Biz örneğimizde Tomcat 6 kullanacağımız için böyle bir sorunumuz olmayacak. Ancak var olan başka bir tomcat ile JSF yazmak isterseniz, buna dikkat etmeniz gerekir. Tomcat 6.0, JSTL ve JSF 1.2 dosyalarını indireceğiz.
Tomcat 6.0
Tomcat’in son sürümünü http://tomcat.apache.org/download-60.cgi adresinden indirilebilir. Biz JSF ile ilgili denemelerimizde tomcat’in 6.0.18 (apache-tomcat-6.0.18.zip dosyası) versiyonunu indireceğiz.

Zip dosyayı indirdikten sonra, istediğiniz bir dizine açın, ben D sürücüsünde tomcat6 olarak açtım.Siz de zip’li dosyayı açtıktan sonra aşağıdakine benzer bir klasör yapısına sahip olmalısınız.

Sıra tomcat’i çalıştırmaya geldi. Tomcat çalıştırma ve durdurma dosyaları %TOMCAT_HOME%/bin klasörü içinde yer almaktadır. Tomcat’i çalıştırmak için aşağıdaki adımları takip edebilirsiniz;
- Başlat / Start‘ı tıklayınız,
- Çalıştır / Run seçeneğini tıklayınız,
- Gelen pencereye CMD komutunu yazarak Windows’un komut satırının açılmasını sağlayın.
- D: komutu ile, D sürücüsüne geçin,
- cd Tomcat6\bin komutu ile tomcat klasörüne geçin,
- startup.bat komutunu yazarak, Tomcat’ın çalışmasını sağlayınız.

Tomcat için Java5 veya daha üstü bir versiyon gerekmektedir. Bilgisayarınızda JDK’nın yüklü olduğunu ve JAVA_HOME’un tanımlı olduğunu kabul ediyoruz. Eğer bilgisayarınızda Java yüklü değilse, tomcat çalışmayacaktır. Lİferay’ı hızlı şekilde Kurmak başlıklı yazımızda, JAVA_HOME tanımı ile ilgili bilgi verilmiştir, eğer bu konuda bir sorun yaşıyorsanız bu yazıyı okuyabilirsiniz.
JSF Kütüphanesini İndirme
JSF 1.2 kütüphanesini https://javaserverfaces.dev.java.net/ adresinden bilgisayarınıza yükleyebilirsiniz. Biz bu örneğimizde 1.2_09 kütüphanesini (mojarra-1.2_09-b02-FCS-binary.zip dosyası) kullanacağız.

JSTL Kütüphanesini İndirme
http://people.apache.org/builds/jakarta-taglibs/nightly/ adresindeki jakarta-taglibs-20060829.zip dosyasını bilgisayarınıza yükleyiniz.
İlk JSF Dosyamızı Oluşturalım
İlgili dosyaları bilgisayarınıza indirdiyseniz, artık ilk JSF uygulamamızı oluşturabiliriz. Öncelikle bundan sonraki bölümlerde tomcat’ın ana klasörünü (D:\Tomcat6) %TOMCAT_HOME% olarak ifade edeceğiz.
Aşağıdaki adımları takip ederek ilk JSF uygulamamızı oluşturalım;
- %TOMCAT_HOME%/webapps klasörü altında jsf12 adında bir klasör oluşturalım.
- %TOMCAT_HOME%/webapps/jsf12 klasörü altında WEB-INF adında bir klasör oluşturalım. Bu klasör içerisinde JSF için konfigürasyon ve kütüphane dosyaları yer alacak.
- %TOMCAT_HOME%/webapps/jsf12/WEB-INF klasörü içinde lib ve classes adında iki klasör oluşturun. lib klasöründe jsf framework’une ait jar dosyaları yer alacak.
- %TOMCAT_HOME%/webapps/jsf12/WEB-INF klasörü içinde web.xml adında bir xml dosya oluşturun. Bu dosyada jsf dosyaları ile ilgili bir tanım yer alacak ve jsf uzantılı dosyaların, jsp dosya olarak çağırılması sağlanacak.
<!– Faces Servlet –>
<?xml version='1.0' encoding='UTF-8'?>
<!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>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup> 1 </load-on-startup>
</servlet><!– Faces Servlet Mapping –>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping></web-app>
- %TOMCAT_HOME%/webapps/jsf12/WEB-INF klasöründe faces-config.xml dosyasını oluşturun ve aşağıdakileri o dosyanın içine yazın.<?xml version=’1.0′ encoding=’UTF-8′?><!DOCTYPE faces-config PUBLIC
“-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN”
“http://java.sun.com/dtd/web-facesconfig_1_1.dtd”><faces-config>
</faces-config>
- Bu aşamada JSF framework dosyalarının lib klasörüne kopyalanmasından bahsedeceğiz. İndirdiğiniz, mojarra-1.2_09-b02-FCS-binary.zip dosyasını herhangi bir klasöre açın ve açtığınız klasördeki mojarra-1.2_09-b02-FCS\lib klasöründe yer alan jsf-api.jar ve jsf-impl.jar dosyalarının 3. adımda oluşturduğunuz lib klasörü içine kopyalayın.

- JSTL kütüphanesinin kopyalanması; jakarta-taglibs-20060829.zip dosyasını hernagi bir klasörü açın, jakarta-taglibs\standard-1.0\lib klasöründe yer alan standard.jar ve jstl.jar dosyalarını 3. adımda oluşturduğumuz lib klasörü içine kopyalayın.
- JSF dosya oluşturma; %TOMCAT_HOME%/webapps/jsf12/ klasöründe index.jsp adında bir dosya oluşturun ve içine aşağıdakileri yazın;
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<%@taglib uri=”http://java.sun.com/jsf/html” prefix=”h”%>
<%@taglib uri=”http://java.sun.com/jsf/core” prefix=”f”%>
<html>
<body>
<f:view>
<h:outputText value=”JSF Dünyasına Hoşgeldiniz.”/>
</f:view>
</body>
</html>
- Daha sonra yazımızın başında belirttiğimiz gibi tomcat’i start edin ve tarayıcıdan http://localhost/jsf12/index.jsf yazın, eğer ekranda JSF Dünyasına Hoşgeldiniz’i görüyorsanız tebrikler, ilk JSF kodunuz çalıştı.
Eğer yukarıda anlatılanları sırası ile yaptıysanız, %TOMCAT_HOME%/webapps/jsf12 klasöründe aşağıdakine benzer bir dosya-klasör yapınız olmalı, eğer bu yapıda bir farklılık varsa, yukarıdaki adımları tekrar gözden geçirin.

Unutmayınız, JSF dosyaları oluştururken dosya uzantılarına jsp veriyoruz, ancak tarayıcıdan çağırırken jsf uzantısı ile çağırıyoruz. Dosya uzantısı jsp diye jsf şeklinde çağırmayın. Bunun sebebi de 4. adımda oluşturduğumuz web.xml dosyasına yazdığımız tanımdır.
Başka bir yazıda görüşmek üzere…
JSF'de PhaseListener ile Oturum Yönetimi | www.BT-tr.net says:
November 29th, 2008 at 07:22
[...] ortamının nasıl hazırlanacağı ile ilgili probleminiz varsa bu adrese göz [...]
RichFaces Kurulumu | www.BT-tr.net says:
November 29th, 2008 at 13:50
[...] http://www.bt-tr.net/2008/11/tomcat-jsf-kurulumu/ adresinde anlatıldığı gibi JSF çalışma ortamınızın tamam olduğunu varsayıyoruz. Eğer JSF için gerekli ayarlamaları yapmadıysanız, öncelikle o işlemleri yerine getiriniz. [...]
uranus says:
July 22nd, 2009 at 10:20
Selamlar tüm yazılanları denedim ama çalıştıramadım. Nerede yanlış yapıyorum acaba? URL de http://localhost:8080/jsf12/index.jsp yazıyor
HTTP Status 404 –
——————————————————————————–
type Status report
message
description The requested resource () is not available.
——————————————————————————–
ApacheTomcat/6.0.20 hatası veriyor.
Ali Gel says:
September 11th, 2009 at 00:31
web.xml dosyasındaki yorum satırlarını (örneğin ) silin. Ayrıca bu dosyaları kopyala-yapıştır yapmayın. Tırnaklar problem çıkarıyor. Kendiniz yazın.