Apa itu Tomcat? Kontainer servlet Java asli

Apache Tomcat adalah container servlet Java open source yang tahan lama yang mengimplementasikan beberapa spesifikasi inti perusahaan Java, yaitu Java Servlet, JavaServer Pages (JSP), dan WebSockets API.

Proyek Apache Software Foundation, Tomcat pertama kali dirilis pada tahun 1998, hanya empat tahun setelah Java itu sendiri. Tomcat dimulai sebagai implementasi referensi untuk Java Servlet API pertama dan spesifikasi JSP. Meskipun tidak lagi menjadi implementasi referensi untuk salah satu dari teknologi ini, Tomcat tetap menjadi server Java yang paling banyak digunakan, dengan mesin inti yang telah teruji dan terbukti dengan ekstensibilitas yang baik.

Dalam pengantar singkat ini, Anda akan mempelajari mengapa banyak toko perangkat lunak memilih Tomcat untuk menjalankan aplikasi web Java. Anda akan mendapatkan gambaran umum tentang Tomcat dan cara penggunaannya, serta petunjuk penginstalan untuk versi terbaru saat tulisan ini dibuat.

Tomcat dan Java Servlet API

Tomcat 9 mendukung spesifikasi Servlet 4.0 dan membutuhkan JDK 8 atau lebih tinggi. Tomcat 8.5 mendukung beberapa fitur baru seperti HTTP / 2, tetapi tetap menjadi wadah Servlet 3.

Jenis server apa Tomcat itu?

Ekosistem Java mendukung beberapa jenis server aplikasi, jadi mari kita membedakan mereka dan melihat di mana posisi Tomcat:

  • Sebuah kontainer servlet merupakan implementasi dari spesifikasi Java Servlet, digunakan terutama untuk hosting servlets Java.
  • Sebuah web server adalah server yang dirancang untuk melayani file dari sistem lokal, seperti Apache.
  • Sebuah aplikasi Java server perusahaan adalah implementasi full-blown dari EE Java (sekarang Jakarta EE) spesifikasi.

Pada intinya, Tomcat adalah servlet dan wadah JSP. Servlet Java merangkum kode dan logika bisnis serta menentukan bagaimana permintaan dan respons harus ditangani di server Java. JSP adalah teknologi rendering tampilan sisi server. Sebagai pengembang, Anda menulis halaman servlet atau JSP, lalu biarkan Tomcat menangani perutean.

Tomcat juga berisi mesin Coyote, yang merupakan server web. Berkat Coyote, dimungkinkan untuk memperluas Tomcat untuk menyertakan berbagai spesifikasi dan kemampuan perusahaan Java, termasuk Java Persistence API (JPA). Tomcat juga memiliki versi tambahan, yang disebut TomEE, yang mencakup lebih banyak fitur perusahaan. Saya akan memperkenalkan TomEE secara singkat nanti di artikel ini.

Mari kita mulai dengan melihat penggunaan Tomcat untuk menghosting servlet dan JSP.

Unduh dan instal Tomcat

Menjadi kuno dunia perangkat lunak, sejumlah versi Tomcat tersedia. Informasi tentang perbedaan versi tersedia di beranda Tomcat. Anda biasanya dapat memilih versi stabil terbaru.

Untuk tujuan kami, unduh versi terbaru Tomcat, yang saat ini adalah Tomcat 9. Anda memiliki pilihan untuk mengunduh Tomcat sebagai arsip ( .zipatau tar.gz), atau sebagai layanan yang diinstal. Pilihan terbaik terserah Anda - kecuali tentu saja Anda tidak menjalankan Windows, dalam hal ini Anda akan mencari arsip. Kami akan menggunakan arsip untuk artikel ini.

Instalasi Windows untuk Tomcat

Jika Anda menjalankan Windows dan ingin menggunakan penginstal, cukup unduh file .exe dan jalankan. Tomcat akan menginstal dirinya sendiri sebagai layanan dengan default yang wajar. Ini kemudian akan memberi tahu Anda di mana pemasangannya, dan Anda dapat melanjutkan seolah-olah Anda telah membongkar arsip di sana.

Langkah 1. Penginstalan baris perintah

Pergi ke baris perintah dan ketik gunzip apache-tomcat-9.0.19.tar.gzdiikuti dengan tar -xf apache-tomcat-9.0.19.tar. Ini membuat direktori berikut:

  • / bin berisi skrip untuk menjalankan Tomcat.
  • / webapps adalah lokasi di mana Anda akan menyebarkan aplikasi Anda.
  • / logs adalah tempat Tomcat mengeluarkan lognya. Perhatikan bahwa log Tomcat masuk /logs/catalina.outsecara default. Anda dapat menggunakan file ini untuk men-debug masalah sehubungan dengan file log khusus aplikasi.
  • / lib adalah tempat Tomcat mencari JAR. Di sinilah Anda akan menyimpan paket tambahan yang tidak disertakan dengan Tomcat, seperti JPA.
  • / conf adalah konfigurasi XML untuk Tomcat, tempat Anda dapat melakukan hal-hal seperti menambahkan pengguna dan peran untuk Tomcat.

Langkah 2. Jalankan Tomcat

Jika Anda menginstal Tomcat sebagai layanan, itu sudah berjalan. Jika tidak, lanjutkan dan mulai dengan memasukkan ./catalina.sh startdi baris perintah. (Ketik ./catalina.shtanpa argumen untuk melihat semua perintah yang tersedia). Sekarang, Anda harus dapat menelusuri layar selamat datang Tomcat di browser.

Matthew Tyson

Menerapkan aplikasi di Tomcat

webappsDirektori Tomcat adalah tempat Anda menerapkan aplikasi. Anda dapat meletakkan .warfile di sana dan Tomcat akan menjalankannya. File WAR adalah kemasan standar untuk resource aplikasi web: file JAR dengan beberapa file tambahan yang memberi tahu container (dalam hal ini Tomcat) cara menjalankannya.

Selain pengemasan standar, ada tiga cara tambahan untuk menyebarkan konten di Tomcat.

Penerapan yang meledak

Aplikasi web "meledak" adalah aplikasi yang tidak dikompresi ke dalam file WAR, artinya masih berisi semua elemen yang ada di direktori dan file. Arsip Tomcat yang Anda buka paketnya dikirimkan dengan beberapa contoh yang diterapkan dengan cara ini, yang akan Anda temukan di /webapps/examplesdirektori. Keuntungan penerapan yang meledak adalah Anda dapat melihat file di sana tanpa mengkhawatirkan kompresi.

Jika Anda menavigasi ke //localhost:8080/examples/, Anda akan menemukan daftar tautan. Halaman ini dibuat oleh Tomcat dari /webapps/examples/index.htmlfile. Tomcat menyajikan file HTML dari sistem file, yang merupakan instance dari mesin Coyote Tomcat yang bertindak sebagai server web.

Anda bebas menjelajahi contoh-contoh yang disajikan - mereka memberi Anda gambaran umum yang baik tentang kemampuan Tomcat untuk melayani servlet, JSP, dan WebSockets.

Tomcat juga menyertakan aplikasi manajemen secara default, ditemukan di bawah /managerjalur. Aplikasi ini antara lain memungkinkan Anda untuk memulai, menghentikan, dan menerapkan ulang aplikasi dari konsol web.

Menyajikan konten statis

Dimungkinkan untuk menyajikan file dari sistem file, atau meneruskan dari Tomcat ke server HTTP lain seperti Apache. Pengaturan umum lainnya adalah meletakkan server file seperti Apache atau Nginx di depan Tomcat, dan kemudian meneruskan permintaan API Anda ke Tomcat. Dalam kasus ini, pustaka mod_JK digunakan untuk mengkonfigurasi Tomcat dan Apache (atau bahkan server web lain seperti IIS) untuk berkomunikasi.

Untuk meningkatkan kinerja, terutama dalam mengirimkan konten statis, Tomcat juga menawarkan pembungkus asli untuk Windows dan Linux. Ini dikenal sebagai APR Tomcat dan informasi lebih lanjut tersedia di sini. Ini tidak diperlukan untuk kasus penggunaan biasa, tetapi perlu diketahui.

Tertanam Tomcat

Untuk waktu yang lama, Jetty adalah satu-satunya server yang dapat berjalan sebagai server tertanam. Itu telah berubah, dan sekarang Tomcat juga dapat menjalankan tertanam. Ide dalam menggunakan server tertanam adalah bahwa alih-alih server yang berisi file aplikasi, seperti yang telah Anda lihat sejauh ini, Anda memiliki aplikasi dengan kelas utama (yaitu, aplikasi Java mandiri), yang memanggil kemampuan server dari di dalam basis kodenya. Secara keseluruhan, ini menawarkan model pengembangan yang lebih sederhana dan portabel, dan dengan cepat menjadi norma. Spring Boot, misalnya, menggunakan instance Tomcat tertanam yang berjalan dalam mode pengembang.

Menjalankan server tertanam dapat memberikan kesederhanaan dalam hal pengoperasian, karena Anda sekarang hanya berurusan dengan satu komponen (aplikasi) alih-alih berurusan dengan aplikasi dan penerapan server. Di sisi lain, penyiapan tempat Tomcat dijalankan sebagai host independen masih sangat umum.

TomEE

Anda dapat menggunakan lebih banyak kapabilitas Java EE (atau Jakarta EE) standar dengan Tomcat dengan menambahkan pustaka tersebut ke Tomcat itu sendiri, atau ke dependensi aplikasi Anda. Pilihan lainnya adalah server TomEE. TomEE adalah mesin Tomcat yang sama dengan dukungan tambahan untuk perusahaan Java, termasuk API JPA dan CDI (Konteks dan Injeksi Ketergantungan) yang populer. Spesifikasi TomEE didasarkan pada profil web Java EE, jadi ini memberi Anda lebih dari Tomcat tetapi bukan server aplikasi Java EE lengkap seperti WildFly atau Glassfish.

Ketersediaan tinggi dan pengelompokan

Tomcat mendukung ketersediaan tinggi dan pengelompokan. Ketersediaan tinggi pada dasarnya adalah kemampuan untuk mengalihkan ke server lain dan membuat ulang sesi seolah-olah tidak ada yang salah. Clustering adalah kemampuan untuk membuat beberapa versi dari server yang sama untuk menangani lalu lintas volume tinggi.

Kesimpulan

Tomcat tetap berkembang secara aktif, mengikuti perubahan, dan menghadirkan platform yang solid dan andal untuk menerapkan aplikasi web. Popularitas dan pilihannya yang berkelanjutan sebagai platform Java default untuk banyak sistem PaaS membuktikan keberhasilannya yang berkelanjutan.

Cerita ini, "Apa itu Tomcat? Wadah servlet Java asli" awalnya diterbitkan oleh JavaWorld.