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.
https://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.
Maven Nedir? Kurulumu ve Kullanımı
Java Derslerine buradan ulaşabilirsiniz.
Hayırlı günler dilerim.