Tomcat Nedir? Kurulumu ve Kullanımı

Tomcat nedir ile Servlet, JSP veya JSF gibi Java tabanlı web uygulamalarını yayınlamak için kullanılan Apache Tomcat kurulumu ve kullanımı adım adım anlatılıyor.

Tomcat nedir?

Apache Tomcat veya Tomcat Java tabanlı web uygulamalarını yayınlamak için kullanılan web sunucusudur.

Java, Java EE veya Java Teknolojileri içerisinde Java Servlet, JavaServer Pages, Java Expression Language, Java WebSocket gibi çeşitli teknolojiler yer alır.

Bu teknolojiler JCP (Java Community Process) olarak adlandırılan ve genellikle çeşitli firmalardaki geliştiriciler tarafından standart olarak belirlenir.

Standartlar belirlendikten sonra bu teknolojilerin kullanılabilmesi için bu standartların kodlara dökülmesi-implement gerekir.

Apache Tomcat bu standartları uygulayan ve içerisinde web sunucusu yer alan bir Java uygulamasıdır.

Tomcat kurulumu

Apache tomcat kurulumu için gereki dosyalar indirilir.

http://tomcat.apache.org

İndirilen dosyaları herhangi bir dizine çıkartılır.

tar -xf apache-tomcat...

Tomcat işletim sistemine göre bin dizininde yer alan startup.sh veya startup.bat dosyası komut yorumlayıcısı ile çalıştırılır.

startup

veya

catalina startup

Tomcat işletim sistemine göre bin dizininde yer alan shutdown.sh veya shutdown.bat dosyası komut yorumlayıcısı ile kapatılır.

startup

veya

catalina startup

Web tarayıcısına aşağıdaki adres yazılarak Tomcat arayüzüne erişim sağlanır.

http://localhost:8080

Tomcat komutlarını her yerden çalıştırabilmek için bin dizini işletim sistemi Ortam Değişkenleri alanına eklenebilir.

Kurulum tamamlandıktan sonra version.sh veya version.bat çalıştırılarak kurulum kontrol edilebilir.

version

veya

catalina version

NOT: Tomcat startup, shutdown, version komutlarını çalıştırmak için catalina dosyasını kullanır.

Tomcat dizin yapısı

bin – Tomcat çalıştırmak için kullanılan betikler yer alır.(startup.sh, startup.bat, version.sh, version.bat, catalina.sh, catalina.bat)

conf – Ayar dosyaları yer alır. (server.xml, web.xml, context.xml)

lib – Tomcat tarafından kullanılan kütüphaneler yer alır. (Servlet, JSP, EL, Websocket vs.)

logs – Tomcat kayıtları yer alır. (giriş kayıtları)

webapps – Web uygulamaları yer alır.

work – Web uygulamalarının derlenmesi sırasında geçici olarak kullanılan dizindir. (JSP dosyalarının Servlet’e dönüştürülmesi)

Tomcat ayarları

Tomcat varsayılan olarak port numarası, varsayılan açılış dosyası gibi çeşitli ayarlar ile gelir.

Port numarasını değiştirmek

Bu ayarları değiştirmek için Apache tomcat kurulum dizinindeki conf dizini kullanılır.

Tomcat port numarasını değiştirmek için server.xml dosyasında yer alan port değerinin değiştirilmesi yeterli olacaktır.

<Connector port="8080" protocol="HTTP/1.1"
   connectionTimeout="20000"
   redirectPort="8443" />

Kullanıcı oluşturmak

Apache tomcat sunucusu başlatıldığında varsayılan olarak http://localhost:8080/manager alanına erişim kısıtlıdır.

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script" username="tomcat"/>

Ayarlar tomcat-users.xml dosyasına eklenerek bu alana erişim sağlanır.

Dizinleri listelemek

Tomcat varsayılan olarak web.xml dosyasındaki welcome-file ile belirtilen dosyaları çalıştırır.

Bu dosyalar olmadığında hata verecektir.

Dosyalar olmadığında hata vermek yerine dizindeki dosyaları listelemek için org.apache.catalina.servlets.DefaultServlet aşağıdaki ayarın

<init-param>
	<param-name>listings</param-name>
	<param-value>false</param-value>
</init-param>

aşağıdaki gibi değiştirilmesi yeterli olacaktır.

<init-param>
	<param-name>listings</param-name>
	<param-value>true</param-value>
</init-param>

Varsayılan dosyaları değiştirmek

Varsayılan başlangıç dosyasını değiştirmek için web.xml dosyasının içerisinde welcome-file-list ile belirtilen ayarların değiştirilmesi yeterli olacaktır.

<welcome-file-list>
	<welcome-file>index.html</welcome-file>
	<welcome-file>index.htm</welcome-file>
	<welcome-file>index.jsp</welcome-file>
	<welcome-file>anasayfa.html</welcome-file>
</welcome-file-list>

Tomcat varsayılan olarak anasayfa.html dosyasına da bakacaktır.

Tomcat kullanımı

Tomcat ile web projesi oluşturmak için Tomcat dizininde yer alan webapps dizinine webprojem adında bir dizin oluşturun.

mkdir webprojem

Dizin içerisine web.xml dosyasında yer alan varsayılan başlangıç dosyasını oluşturun.

echo merhaba > anasayfa.html

Web tarayıcısına aşağıdaki adresi yazarak web sayfasına erişebilirsiniz.

http://localhost:8080/webprojem/

veya

http://localhost:8080/webprojem/anasayfa.html

JSP komutlarını çalıştırmak için index.jsp dosyası oluşturup aşağıdaki komutları içerisine ekleyin.

<%="Merhaba JSP"%>

Web tarayıcısına aşağıdaki adresi yazarak web sayfasına erişebilirsiniz.

http://localhost:8080/webprojem/

veya

http://localhost:8080/webprojem/index.jsp

NOT: JSP hakkında detaylı bilgi almak için Java JSP yazıma bakmalısın.

Tomcat ile Servlet derlemek için classpath olarak Tomcat lib dizinin gösterilmesi yeterli olacaktır.

Projede kullanılan kütüphane sayısı arttıkça proje geliştirmek zorlaşacaktır.

Bundan dolayı Tomcat web sunucusunu Netbeans, Eclipse gibi gelişmiş IDE’lerde yer alan Servers bölümü ile kullanmak faydalı olacaktır.

Tomcat ile war projesi yayınlamak

Netbeans, Eclipse gibi gelişmiş IDE’ler otomatik olarak derleme işlemi yapmaktadır.

Ayrıca komut yorumlayıcısında java derleyicileri, maven gibi araçlar kullanarak war dosyası paketi oluşturulabilir.

Oluşturulan paket aşağıdaki adreste yer alan arayüz ile çalıştırılabilir hale getirilir.

http://localhost:8080/manager

Örneğin; Maven ile aşağıdaki gibi bir web projesi oluşturalım.

mvn archetype:generate -DgroupId=com.yusufsezer -DartifactId=JavaWebProjem -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

Projeyi paketleyelim.

mvn package

Projedeki /target dizininde yer alan war dosyasını tomcat web arayüzünü kullanarak yayınlayalım.

Tomcat web arayüzünden proje sayfasına giderek projemizi çalıştırabiliriz.

Java teknolojileri ile ilgili detaylı bilgi almak için aşağıdaki yazılarımı incelemeniz faydalı olacaktır.

Java EE Nedir?

Java Servlet

Java JSP

Maven Nedir? Kurulumu ve Kullanımı

Java Derslerine buradan ulaşabilirsiniz.

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!