Tomcat üzerindeki bir web uygulamasının standart dizin yapısı nasıldır?

28 Ekim 2010
Bu yazıyı beğendiysen paylaşmayı unutma :)
Pin It

TomCatJava ile geliştirdiğimiz projeleri koşturduğumuz popüler uygulama sunucularından biri olan Tomcat‘in standart dizin yapısını iyi biliyor olmak önemli bir konu. Bunun için bu yazımızda Tomcat’in dizin yapısına bir göz atıp, gerekli bölümlerin neler olduğunu ve ne iş yaptığına bakacağız.
Yapıyı doğru bir şekilde öğrenmek; hem projenizi olması gereken klasörler altında bulundurmak hem de ant gibi proje deploymentı oluşturma araçlarındaki değerleri bu yapıya göre düzenlemek gerekiyor.

Aslında buradaki dizin yapısı, sağlıklı bir web uygulama arşivi yani WAR dosyası oluşturabilmek için gerekli yapıyı oluşturuyor.

TomCat Dizin Yapısı

# html, jsp, javascript, css, resim, flash gibi tüm dosya türlerini site rootu içerisinde direkt olarak ya da klasörler içerisinde saklayabilirsiniz.

# /WEB-INF/web.xml – Bir web uygulaması için gerekli tanımlamaların yapıldığı ve uygulamanın çağırıldığı anda içeriği kontrol edilen ilk dosya web. xml’dir. Bu dosya içerisinde, uygulamada kullanılacak karakter kodlamasının türü, çeşitli filtreleri, uygulama açılış dosyaları,  url yapılandırmaları gibi gerekli ayarlamaların yapılması için gerekli XML tabanlı bir dosyadır.

# /WEB-INF/classes/ – Bu dizin, web uygulamanız için gerekli derlenmiş java class dosyalarını içerir.

# /WEB-INF/lib/ – Uygulamanızda ihtiyaç duyabileceğiniz gerekli JAR dosyalarını, üçüncü parti class kütüphanelerini ve JDBC sürücüleri gibi bileşenleri bu dizin altında bulundurabilirsiniz.

Her ne kadar Tomcat bir web uygulaması için gerekli dizin yapısı bu şekilde olsa da bazı durumlarda çalışma sistemini bozmadan kendi hiyerarşinizi kurabilirsiniz. Örneğin; ilk maddemizde belirttiğimiz gibi html, jsp, javascript, css, resim, flash gibi dosyalar içerisinden JSP ve HTML sayfalarınızı WEB-INF altında “jsp” adında bir klasör açıp burada saklayabilirsiniz.

Peki bunu yapmamızın ne faydası var?

Uygulamanızı yayınlamaya başladığınızda root altındaki dosyaları web adreslerini tarayıcınıza girerek çağırabilirsiniz. Fakat WEB-INF’in özelliği gereği bu klasör altında bulunan dosyalarınızı yaramaz kullanıcılar web tarayıcılarına URL yazarak çağıramayacaktır.

Peki javascript, css, resim, flash gibi dosyaları neden WEB-INF altına almadık?

Kısaca gerek yok! Çünkü web uygulamanıza bir istek geldiğinde bu bileşenler varsayılan olarak hali hazırda zaten yüklenecektir. Bu yüzden WEB-INF altına alınmasına ihtiyaç yoktur.

Java ile geliştirdiğimiz projeleri koşturduğumuz popüler uygulama sunucularından biri olanTomcat’in standart dizin yapısını iyi biliyor olmak önemli bir konu. Bunun için bu yazımızda

Tomcat’in dizin yapısına bir göz atıp, gerekli bölümlerin neler olduğunu ve ne iş yaptığına

bakacağız.

Yapıyı doğru bir şekilde öğrenmek; hem projenizi olması gereken klasörler altında bulundurmak

hem de ant gibi proje deploymentı oluşturma araçlarındaki değerleri bu yapıya göre düzenlemek

gerekiyor.

Aslında buradaki dizin yapısı, sağlıklı bir web uygulama arşivi yani WAR dosyası oluşturabilmek için

gerekli yapıyı oluşturuyor.

# html, jsp, javascript, css, resim, flash gibi tüm dosya türlerini site rootu içerisinde direkt olarak

ya da klasörler içerisinde saklayabilirsiniz.

# /WEB-INF/web.xml – Bir web uygulaması için gerekli tanımlamaların yapıldığı ve uygulamanın

çağırıldığı anda içeriği kontrol edilen ilk dosya web. xml’dir. Bu dosya içerisinde, uygulamada

kullanılacak karakter kodlamasının türü, çeşitli filtreleri, uygulama açılış dosyaları,  url

yapılandırmaları gibi gerekli ayarlamaların yapılması için gerekli XML tabanlı bir dosyadır.

#/WEB-INF/classes/ – Bu dizin, web uygulamanız için gerekli derlenmiş java class dosyalarını içerir.

#/WEB-INF/lib/ – Uygulamanızda ihtiyaç duyabileceğiniz gerekli JAR dosyalarını, üçüncü parti class

kütüphanelerini ve JDBC sürücüleri gibi bileşenleri bu dizin altında bulundurabilirsiniz.

Her ne kadar Tomcat bir web uygulaması için gerekli dizin yapısı bu şekilde olsa da bazı

durumlarda çalışma sistemini bozmadan kendi hiyerarşinizi kurabilirsiniz. Örneğin; ilk maddemizde

belirttiğimiz gibi html, jsp, javascript, css, resim, flash gibi dosyalar içerisinden JSP ve HTML

sayfalarınızı WEB-INF altında “jsp” adında bir klasör açıp burada saklayabilirsiniz.

Peki bunu yapmamızın ne faydası var?

Uygulamanızı yayınlamaya başladığınızda root altındaki dosyaları web adreslerini tarayıcınıza

girerek çağırabilirsiniz. Fakat WEB-INF’in özelliği gereği bu klasör altında bulunan dosyalarınızı

yaramaz kullanıcılar web tarayıcılarına URL yazarak çağıramayacaktır.

Peki javascript, css, resim, flash gibi dosyaları neden WEB-INF altına almadık?

Kısaca gerek yok! Çünkü web uygulamanıza bir istek geldiğinde bu bileşenler varsayılan olarak hali

hazırda zaten yüklenecektir. Bu yüzden WEB-INF altına alınmasına ihtiyaç yoktur.

Benzer Yazılar


DeliPenguen'i Google+'da bulun



Henüz yorum yok.