04 – Apache Tomcat

Neden Servlet Container olarak Apache Tomcat kullaniyoruz ?

Bunun nedeni calistigim tum kaynaklarda Apache Tomcat kullaniliyordu. Isteki projelerde de Apache Tomcat kullaniliyor. Apache Tomcat populerligi en fazla olan Servlet Containerdir diyebiliriz. Dolayisiyla bu yazilarim boyunca Apache Tomcat kullanmayi dusunuyorum. Baska bolumlerde farkli Servlet Containerlari da kullanabiliriz.

Apache Tomcat vs Glassfish

Apache Tomcat, Servlet Container‘dir baska bir deyisle Web Containerdir. Glassfish ise Application Server‘dir. Application Server’lar hem Servlet Container’a hem de EJB Container’a ve ek ozelliklere sahiptir. Servlet ve JSP icin Apache Tomcat yeterli olacaktir.
Glassfish Application Server , JSF+EJB projelerine uygun olacaktir. Apache Tomcat uzerinde Spring MVC projeleri de rahatlikla calisacaktir.

application-server

Eclipse Servers View Eklemek

Eger Servers sekmesi resimdeki gibi Eclipste mevcut degilse, Window — > Show View — > Other –> Servers yolunu kullanarak Eclipse’e ekleyebiliriz.

servers-view

Apache Tomcat’in Kullandigi Portlari Degistirmek

Apache Tomcat 8080 portunu kullanmaktadir. Bu portu Oracle’da kullanir ,farkli uygulamalarla port cakismasi olmamasi icin Apache Tomcat’in kullandigi bu portu degistirebiliriz. Bunun icin 2 yolumuz var ;

  • Yukaridaki resimdeki Servers sekmesinde Tomcat in uzerine cift tikladigimizda bir menu gelecektir, menudeki su alanda kullanilan portlari degistirebiliriz.

tomcat-port

  • Ya da Eclipste Servers isminde bir proje olusacaktir. Burada server.xml dosyasi icerisinden de port degisikligi yapabiliriz.
   <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />


  • Apache Tomcat klasoru altinda, conf klasoru icerisinde server.xml dosyasi ile port degisikligi yaparsaniz , Eclipse’teki Tomcat port degerleri bunu ezecektir/override.

Yeni portumuz 8040;

yeni-port

Apache Tomcat & Deployment 

Apache Tomcat varsayilan olarak su dizini kullanir

{YOUR_ECLIPSE_WORKSPACE}\.metadata\.plugins\org.eclipse.wst.server.core\tmp{a-number}\wtpwebapps.

 

tomcat-location

 

Ilgili dizine gittigimizde injavawetrust klasorumuzu gorebiliriz.
injavawetrust klasorumuz altinda WEB-INF ve META-INF klasorleri yer almaktadir. WEB-INF klasorumuzde classes ve lib klasorleri ile web.xml dosyalarimiz yer almaktadir.

web-inf

lib klasorumuz de suanda bir jar dosyamiz bulunmuyor.Projemize jar dosyalari ekledigimizde jar dosyalarimiz lib klasoru altinda yer alacaktir.

Projemizdeki Java siniflari classes klasorumuz altinda yer alacaktir.

helloservletworld

Apache Tomcat’in bu deployment dizinini ve Deploy path‘ini degistirebiliriz. Eclipse’te Servers sekmesine cift tikladigimizda Server Locations sekmesinde varsayilan olarak Use workspace metadata(does not modify Tomcat installation) secili olacaktir. Apache Tomcat klasorumuzun dizinini ya da dilersek baska bir dizin kullanabiliriz.

server-locations

Server Locations sekmesi aktif olmadigi durumda ,Servers sekmesinde serverimiza sag tiklayip “Add and Remove” diyip deploy edilen projeleri “Remove all” ile cikartalim ve Finish diyelim ve tekrar deniyelim.

add-and-remove

Deploy path’in ismini webapps olarak degistirdim ve Server Locations sekmesinde Use Tomcat installation(takes control of Tomcat installation) secenegini kullandim.

webapps

 

 

Apache Tomcat & Publish

Apache Tomcat, varsayilan olarak projemizde yaptigimiz degisiklikleri algilayip publish/yayinlama islemi yapacaktir. Dilersek bunu Servers sekmesine cift tiklayip ilgili menude ,Publishing sekmesinden degistirebiliriz. Kendimiz diledigimiz vakitte elle/manuel olarak publish yapabiliriz. Ben bu ayari degistirmiyorum otomatik olarak publish yapmasina izin veriyorum.

publishing-tomcat

Bununla birlikte bazi durumlarda kendimiz otomatik olarak publish yapmamiz gerekebiliyor. Eger Servers sekmesinde asagidaki gibi “Republish” durumu mevcutsa servera sag tiklayip “Publish” diyebiliriz.

servers-view

Bazi durumlarda Apache Tomcati calistirma sorunu yasayabiliriz. Bize ilgili portlarin kullanildigini hatasi verebilir. Bu gibi bir durumla karsilastigimizda gorev yoneticisinden/system monitor(ubuntu) “java” islemini durdurup tekrar deneyebiliriz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*
*