Apa itu Tomcat? Bekas servlet Java yang asli

Apache Tomcat adalah wadah servlet Java sumber terbuka yang lama yang menerapkan beberapa spesifikasi inti perusahaan Java, yaitu Java Servlet, JavaServer Pages (JSP), dan API WebSockets.

Projek Yayasan Perisian Apache, Tomcat pertama kali dilancarkan pada tahun 1998, hanya empat tahun setelah Java itu sendiri. Tomcat bermula sebagai implementasi rujukan untuk Java Servlet API pertama dan spesifikasi JSP. Walaupun tidak lagi menjadi implementasi rujukan untuk salah satu dari teknologi ini, Tomcat tetap menjadi pelayan Java yang paling banyak digunakan, menawarkan mesin teras yang diuji dengan baik dan terbukti dengan kemampuan yang baik.

Dalam pengenalan ringkas ini, anda akan mengetahui mengapa banyak kedai perisian memilih Tomcat untuk menjalankan aplikasi web Java. Anda akan mendapat gambaran keseluruhan mengenai Tomcat dan cara penggunaannya, serta arahan pemasangan untuk versi terkini dari penulisan ini.

Tomcat dan API Servlet Java

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

Pelayan jenis apa Tomcat?

Ekosistem Java menyokong beberapa jenis pelayan aplikasi, jadi mari kita hilangkannya dan lihat di mana Tomcat sesuai:

  • A bekas Servlet adalah pelaksanaan spesifikasi Java Servlet, digunakan terutamanya untuk hosting Servlets Java.
  • A pelayan web adalah pelayan direka untuk berkhidmat fail dalam sistem tempatan, seperti Apache.
  • A Java pelayan aplikasi perusahaan adalah pelaksanaan besar-besaran daripada Java EE (kini Jakarta EE) Spesifikasi.

Di hati, Tomcat adalah bekas servlet dan JSP. Servlet Java merangkumi kod dan logik perniagaan dan menentukan bagaimana permintaan dan respons harus ditangani dalam pelayan Java. JSP adalah teknologi rendering pandangan sisi pelayan. Sebagai pembangun, anda menulis servlet atau halaman JSP, kemudian membiarkan Tomcat menangani routing.

Tomcat juga mengandungi enjin Coyote, yang merupakan pelayan web. Terima kasih kepada Coyote, memperluas Tomcat untuk memasukkan berbagai spesifikasi dan kemampuan perusahaan Java, termasuk Java Persistence API (JPA). Tomcat juga memiliki versi lanjutan, yang disebut TomEE, yang merangkumi lebih banyak ciri perusahaan. Saya akan memperkenalkan TomEE secara ringkas kemudian dalam artikel ini.

Mari kita mulakan dengan menggunakan Tomcat untuk menjadi tuan rumah servlet dan JSP.

Muat turun dan pasang Tomcat

Sebagai kuno dunia perisian, beberapa versi Tomcat tersedia. Maklumat mengenai perbezaan versi terdapat di laman utama Tomcat. Anda biasanya boleh memilih versi stabil terbaru.

Untuk tujuan kami, muat turun Tomcat versi terbaru, yang pada masa ini adalah Tomcat 9. Anda mempunyai pilihan untuk memuat turun Tomcat sebagai arkib ( .zipatau tar.gz), atau sebagai perkhidmatan yang dipasang. Pilihan terbaik terpulang kepada anda - melainkan jika anda tidak menggunakan Windows, anda akan mendapatkan arkib. Kami akan menggunakan arkib untuk artikel ini.

Pemasangan Windows untuk Tomcat

Sekiranya anda menjalankan Windows dan ingin menggunakan pemasang, cukup muat turun fail .exe dan jalankan. Tomcat akan memasang dirinya sebagai perkhidmatan dengan lalai yang munasabah. Ini kemudian akan memberitahu anda di mana pemasangannya, dan anda boleh meneruskan seolah-olah anda telah membongkar arkib di sana.

Langkah 1. Pemasangan baris arahan

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

  • / bin mengandungi skrip untuk melaksanakan Tomcat.
  • / webapps adalah lokasi di mana anda akan menggunakan aplikasi anda.
  • / log adalah tempat Tomcat mengeluarkan lognya. Perhatikan bahawa log Tomcat masuk /logs/catalina.outsecara lalai. Anda boleh menggunakan fail ini untuk men-debug masalah bersama dengan fail log khusus aplikasi.
  • / lib adalah tempat Tomcat mencari JAR. Di sinilah anda akan menyimpan pakej tambahan yang tidak disertakan dengan Tomcat, seperti JPA.
  • / conf adalah konfigurasi XML untuk Tomcat, di mana anda boleh melakukan perkara seperti menambahkan pengguna dan peranan untuk Tomcat.

Langkah 2. Mulakan Tomcat

Sekiranya anda memasang Tomcat sebagai perkhidmatan, ia sudah berjalan. Jika tidak, teruskan dan mulakannya dengan memasukkan ./catalina.sh startdi baris arahan. (Ketik ./catalina.shtanpa argumen untuk melihat semua perintah yang tersedia). Sekarang, anda seharusnya dapat melihat ke skrin selamat datang Tomcat di penyemak imbas.

Matthew Tyson

Menyebarkan aplikasi di Tomcat

Direktori Tomcat webappsadalah tempat anda menggunakan aplikasi. Anda boleh meletakkan .warfail di sana dan Tomcat akan menjalankannya. Fail WAR adalah kemasan standard untuk sumber aplikasi web: fail JAR dengan beberapa fail tambahan yang memberitahu wadah (dalam hal ini Tomcat) cara menjalankannya.

Selain daripada pembungkusan standard, terdapat tiga cara tambahan untuk menyebarkan kandungan di Tomcat.

Meletup meletup

Aplikasi web "meletup" adalah aplikasi yang tidak dimampatkan ke dalam fail WAR, yang bermaksud masih mengandungi semua elemen yang dibentangkan dalam direktori dan fail. Arkib Tomcat yang anda bongkar dihantar dengan beberapa contoh yang diterapkan dengan cara ini, yang akan anda dapati di dalam /webapps/examplesdirektori. Kelebihan penyebaran yang meletup adalah anda dapat melihat fail di sana tanpa perlu risau tentang pemampatan.

Sekiranya anda menavigasi ke //localhost:8080/examples/, anda akan menemui senarai pautan. Halaman ini diberikan oleh Tomcat dari /webapps/examples/index.htmlfail. Tomcat menyajikan fail HTML dari sistem fail, yang merupakan contoh mesin Tomcat's Coyote bertindak sebagai pelayan web.

Anda bebas untuk meneroka contoh yang dikemukakan - mereka memberikan gambaran keseluruhan mengenai kemampuan Tomcat untuk melayani servlet, JSP, dan WebSockets.

Tomcat juga menyertakan aplikasi pengurusan secara lalai, yang terdapat di bawah /managerjalan. Antara lain, aplikasi ini membolehkan anda memulakan, menghentikan, dan menggunakan semula aplikasi dari konsol web.

Melayan kandungan statik

Ada kemungkinan untuk melayani fail dari sistem fail, atau meneruskan dari Tomcat ke pelayan HTTP lain seperti Apache. Penyediaan biasa yang lain adalah meletakkan pelayan fail seperti Apache atau Nginx di hadapan Tomcat, dan kemudian meneruskan permintaan API anda ke Tomcat. Dalam kes ini, perpustakaan mod_JK digunakan untuk mengkonfigurasi Tomcat dan Apache (atau bahkan pelayan web lain seperti IIS) untuk berkomunikasi.

Untuk prestasi yang lebih baik, terutamanya dalam menyampaikan kandungan statik, Tomcat juga menawarkan pembungkus asli untuk Windows dan Linux. Ini dikenali sebagai Tomcat APR dan lebih banyak maklumat terdapat di sini. Ini tidak perlu untuk kes penggunaan biasa, tetapi perlu diketahui.

Tomcat yang dibenamkan

Untuk masa yang lama, Jetty adalah satu-satunya pelayan yang mampu berjalan sebagai pelayan terbenam. Itu telah berubah, dan sekarang Tomcat juga dapat dijalankan dengan tertanam. Idea dalam menggunakan pelayan tertanam adalah bahawa bukannya pelayan yang mengandungi fail aplikasi, seperti yang anda lihat sejauh ini, anda mempunyai aplikasi dengan kelas utama (yaitu, aplikasi Java yang berdiri sendiri), yang memanggil kemampuan pelayan dari di dalam pangkalan kodnya. Secara keseluruhan, ini menawarkan model pembangunan yang lebih mudah dan mudah alih, dan dengan cepat menjadi kebiasaan. Spring Boot, misalnya, menggunakan contoh Tomcat tertanam yang berjalan dalam mod dev.

Menjalankan pelayan tertanam dapat memperoleh kesederhanaan dari segi operasi, kerana anda sekarang hanya berurusan dengan satu komponen (aplikasi) dan bukannya berurusan dengan aplikasi dan penyebaran pelayan. Sebaliknya, persediaan di mana Tomcat berjalan sebagai tuan rumah bebas masih sangat biasa.

TomEE

Anda boleh menggunakan lebih banyak kemampuan Java EE (atau Jakarta EE) standard dengan Tomcat dengan menambahkan perpustakaan tersebut ke Tomcat itu sendiri, atau ke dependensi aplikasi anda. Pilihan lain adalah pelayan TomEE. TomEE adalah mesin Tomcat yang sama dengan sokongan perusahaan Java tambahan, termasuk API JPA dan CDI (Contexts and Dependency Injection) yang popular. Spesifikasi TomEE didasarkan pada profil web Java EE, sehingga memberikan lebih banyak daripada Tomcat tetapi bukan pelayan aplikasi Java EE yang lengkap seperti WildFly atau Glassfish.

Ketersediaan dan pengelompokan yang tinggi

Tomcat menyokong ketersediaan dan pengelompokan yang tinggi. Ketersediaan yang tinggi pada dasarnya adalah kemampuan untuk gagal ke contoh pelayan lain dan membuat semula sesi seolah-olah tidak ada yang salah. Pengelompokan adalah kemampuan untuk membuat beberapa versi pelayan yang sama untuk menangani trafik bervolume tinggi.

Kesimpulannya

Tomcat terus dikembangkan secara aktif, mengikuti perubahan, dan memberikan platform yang kukuh dan boleh dipercayai untuk menggunakan aplikasi web. Populariti dan pilihannya yang berterusan sebagai platform Java lalai untuk banyak sistem PaaS membuktikan kejayaannya yang berterusan.

Kisah ini, "Apa itu Tomcat? Bekas servlet Java yang asli" mula-mula diterbitkan oleh JavaWorld.