Apache Tomcat 6: Beginners Guide


Aku baru saja menginstall Apache Tomcat 6. Aplikasi berlogo kucing ini termasuk cointaner Java EE yang unik, karena ia tidak mendukung
seluruh spesifikasi Java EE. Tidak seperti JBoss yang dapat menjalankan EJB 3.0, Tomcat 6.0 hanya dapat menjalankan JSP dan Servlet. Lalu
kenapa harus ada Tomcat? Di zaman dahulu kala saat EJB masih rumit, membuat aplikasi JEE sesuai spesifikasi menjadi terlalu bertele-tele.
Tidak semua aplikasi web butuh kekuatan EJB. Sebagai contoh, misalnya bagian EJB 3.0 bisa diganti dengan Spring Framework. Dengan
Spring AOP dan Spring IoC, misalnya, programmer bisa mendapatkan fitur deklarative transaction seperti di EJB tetapi dengan
konfigurasi yang lebih gampang. Btw, Spring adalah framework yang sangat luas dan mencakup banyak hal. Spring tidak harus selalu dikaitkan
dengan aplikasi web. Aku pernah membuat aplikasi dekstop (non-web) dengan Spring karena aku ingin memanfaatkan AOP container dan IoC-nya.
Tentu saja ada beberapa bagian dari framework Spring yang dikhususkan untuk aplikasi web, seperti Spring MVC.

Jika aku meng-ekstrak file program Tomcat di “c:program files”, maka “C:Program Filesapache-tomcat-6.0.18” disebut CATALINA_HOME.
Disini terdapat folder bernama bin yang didalamnya terdapat startup.bat. Seperti yang tercantum dinamanya,
batch file tersebut dipakai untuk menjalankan server Tomcat. Aplikasi web yang hendak aku buat nantinya akan diletakkan di folder bernama

webapps. Sebagai contoh, misalnya, aku membuat folder baru di dalam webapps dengan nama latihanPertama dan menambah beberapa
file ke dalamnya, sehingga struktur folder menjadi:

 CATALINA_HOME
 |
 |-- webapps
     |
     |-- latihanPertama
         |
         |-- index.html
         |-- latA.jsp
         |-- latB.jsp
         |-- latC.jsp

Secara default, aku dapat langsung mengakses aplikasi latihanPertama di browser melalui URL: http://localhost:8080/latihanPertama.
Tetapi perlu di-ingat bahwa aplikasi latihanPertama tidak harus selalu memiliki context path latihanPertama.
Misalnya, jika aku memberikan
context path aplikasiWebPertama pada latihanPertama, maka untuk meng-akses-nya di browser, aku harus menggunakan URL ini:

http://localhost:8080/aplikasiWebPertama.

Bagaimana kalau aku ingin membuat beberapa class Servlet untuk aplikasi latihanPertama? Aku akan membuat folder WEB-INF dan
membuat beberapa file sehingga struktur folder menjadi:

 CATALINA_HOME
 |
 |-- webapps
     |
     |-- latihanPertama
         |
         |-- index.html
         |-- latA.jsp
         |-- latB.jsp
         |-- latC.jsp
         |-- WEB-INF
             |
             |-- test.jsp
             |-- test.html
             |-- web.xml
             |-- classes
             |   |
             |   |-- test.class
             |
             |-- lib
                 |
                 |-- test.jar

Folder WEB-INF ini adalah folder yang spesial, tidak seperti folder lainnya. Misalnya, semua file yang ada di dalam folder ini
tidak dapat di-akses secara langsung oleh user. Saat aku mencoba membuka alamat ini http://localhost:8080/latihanPertama/WEB-INF/test.html,
browser akan protes karena tidak menemukan apa yang aku inginkan. Bagus bukan? Aku dapat meletakkan source code servlet Java, aku juga
dapat meletakkan hasil compile source code tersebut di folder classes, dan meletakkan library apa saja yang aku butuhkan untuk
aplikasi web ini di folder lib, tanpa khawatir dilihat user.

Ada sebuah file unik di folder WEB-INF, yaitu web.xml. File ini berisi konfigurasi aplikasi dan disebut web application
deployment descriptor. O ya, struktur folder WEB-INF dan web.xml tidak ditentukan oleh Tomcat loh, melainkan oleh para perancang
Java Enterprise Edition (Sun). Oleh sebab itu, semua aplikasi web JEE akan memiliki folder WEB-INF tidak peduli dia di-install di Tomcat,
JBoss, WebLogic, ataupun Oracle Application Server (OAS).

Apa yang aku lakukan barusan, dengan membuat folder dan membuat file di dalam folder, sering disebut exploded web application.
Cara lainnya, aku dapat men-zip (istilah Java-nya jar) direktori latihanPertama beserta seluruh isi dan subdirektori-nya
ke dalam file bernama latihanPertama.war.
Ekstensi WAR menunjukkan kalau ini adalah Web Application Archive. Lalu, aku meletakkannya ke folder webapps sehingga struktur
foldernya menjadi:

CATALINA_HOME
 |
 |-- webapps
     |
     |-- latihanPertama.war

Terlihat lebih rapi bukan? Aplikasi tetap dapat di-akses seperti biasa, tetapi kini hanya 1 file zip saja. Tentu saja, dalam proses pengembangan
aplikasi, programmer lebih suka memakai exploded directory. Ngapain harus report-report men-jar dan membuat file WAR? Btw, exploded directory
ini adalah fitur dari Tomcat (dan juga dari kebanyakan application server). Spesifikasi JEE secara resmi hanya mensyaratkan dapat menjalankan
file WAR saja dan tidak mensyaratkan application server untuk dapat menjalankan struktur exploded directory.

Perihal Solid Snake
I'm nothing...

3 Responses to Apache Tomcat 6: Beginners Guide

  1. mudzakkir mengatakan:

    Good job! Kalau ada referensi yang bagus share ya kak..

  2. t3tr4 mengatakan:

    terimakasih………ini sangat membantu……….

    tapi kalau ingin menjalankan file yang berekstensi *.jsp bagaiman???

    mohon bantuan dan jika berkenan tolong kirim cara tersebut ke situs web atau email……….terimakasih atas bantuannya……….

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: