Rumah Java javaTutorial Kuasai mekanisme kerja asas perisian tengah Tomcat

Kuasai mekanisme kerja asas perisian tengah Tomcat

Dec 28, 2023 pm 05:25 PM
perisian tengah tomcat Prinsip pelaksanaan

Kuasai mekanisme kerja asas perisian tengah Tomcat

Memahami prinsip pelaksanaan asas perisian tengah Tomcat memerlukan contoh kod khusus

Tomcat ialah pelayan web Java dan bekas Servlet sumber terbuka yang digunakan secara meluas. Ia sangat berskala dan fleksibel dan biasanya digunakan untuk menggunakan dan menjalankan aplikasi web Java. Untuk lebih memahami prinsip pelaksanaan asas perisian tengah Tomcat, kita perlu meneroka komponen teras dan mekanisme pengendaliannya. Artikel ini akan menganalisis prinsip pelaksanaan asas perisian tengah Tomcat melalui contoh kod tertentu.

Komponen teras Tomcat termasuk Penyambung, Bekas dan Pemproses. Penyambung bertanggungjawab untuk mengendalikan isu sambungan antara permintaan pelanggan dan respons pelayan bertanggungjawab untuk menguruskan kitaran hayat komponen Servlet dan memproses permintaan;

Mari kita lihat dahulu cara membuat pelayan Tomcat yang mudah. Berikut ialah contoh kod:

import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;

public class SimpleTomcatServer {
    public static void main(String[] args) {
        Tomcat tomcat = new Tomcat();
        tomcat.setPort(8080);

        tomcat.addWebapp("/", "path/to/your/webapp");

        try {
            tomcat.start();
            tomcat.getServer().await();
        } catch (LifecycleException e) {
            e.printStackTrace();
        }
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mencipta instance Tomcat menggunakan kelas Tomcat dan menetapkan nombor port pelayan kepada 8080. Seterusnya, kami menambah aplikasi web yang memetakan direktori akar ke laluan sumber yang ditentukan. Akhirnya, kami memulakan pelayan Tomcat dan menunggu.

Seterusnya, mari kita lihat dengan lebih mendalam prinsip pelaksanaan asas Tomcat. Penyambung Tomcat bertanggungjawab untuk mengendalikan sambungan antara permintaan pelanggan dan respons pelayan. Ia menggunakan Java NIO (I/O Baharu) untuk mencapai komunikasi rangkaian tidak menyekat dan meningkatkan prestasi pelayan dan keupayaan pemprosesan serentak. Berikut ialah contoh ringkas:

import org.apache.coyote.http11.Http11NioProtocol;

public class SimpleConnector {
    public static void main(String[] args) {
        Http11NioProtocol protocol = new Http11NioProtocol();
        protocol.setPort(8080);

        try {
            protocol.init();
            protocol.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kelas Http11NioProtocol untuk mencipta contoh penyambung dan menetapkan nombor port pelayan kepada 8080. Seterusnya, kami memulakan dan memulakan penyambung.

Bekas Tomcat (Bekas) bertanggungjawab mengurus kitaran hayat komponen Servlet dan memproses permintaan. Ia menggunakan mekanisme yang dipanggil rantaian kontena dalaman Tomcat (Rantai Kontena) untuk melaksanakan aliran pemprosesan Servlet. Berikut ialah contoh ringkas:

import org.apache.catalina.core.StandardContext;
import org.apache.catalina.core.StandardEngine;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.core.StandardWrapper;
import org.apache.catalina.startup.ContextConfig;

public class SimpleContainer {
    public static void main(String[] args) {
        StandardContext context = new StandardContext();
        context.setPath("");
        context.addLifecycleListener(new ContextConfig());

        StandardWrapper wrapper = new StandardWrapper();
        wrapper.setName("hello");
        wrapper.setServletClass("com.example.HelloServlet");
        context.addChild(wrapper);

        StandardHost host = new StandardHost();
        host.addChild(context);

        StandardEngine engine = new StandardEngine();
        engine.addChild(host);

        try {
            context.start();
            engine.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mencipta contoh bekas menggunakan kelas StandardContext dan menetapkan laluan kepada kosong. Seterusnya, kami menambah objek ContextConfig sebagai pendengar kitaran hayat untuk memuatkan maklumat konfigurasi aplikasi web.

Kemudian kami mencipta objek StandardWrapper dan menetapkan nama Servlet dan kelas Servlet. Seterusnya, kami menambah objek Wrapper pada bekas.

Seterusnya, kami mencipta objek StandardHost dan menambah objek StandardContext sebelumnya sebagai nod anak kepada hos.

Akhir sekali, kami mencipta objek StandardEngine dan menambah hos sebagai nod kanak-kanak pada enjin.

Akhirnya, kami menghidupkan bekas dan enjin.

Pemproses Tomcat (Pemproses) bertanggungjawab untuk memproses permintaan tertentu. Ia menggunakan pantulan Java untuk memuatkan dan memanggil komponen Servlet secara dinamik. Berikut ialah contoh ringkas:

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().println("Hello, Tomcat!");
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mencipta kelas HelloServlet, yang diwarisi daripada HttpServlet. Dalam kaedah doGet, kami memperoleh aliran keluaran melalui kaedah getWriter objek HttpServletResponse dan mengembalikan rentetan "Hello, Tomcat!"

Melalui contoh kod di atas, kita boleh mempunyai pemahaman awal tentang prinsip pelaksanaan asas perisian tengah Tomcat. Khususnya, Tomcat menggunakan penyambung untuk mengendalikan isu sambungan antara permintaan pelanggan dan respons pelayan, menggunakan bekas untuk mengurus kitaran hayat komponen Servlet dan mengendalikan permintaan dan menggunakan pemproses untuk mengendalikan permintaan tertentu. Mereka bekerjasama untuk melaksanakan pelayan Web Java dan bekas Servlet berprestasi tinggi dan berskala.

Atas ialah kandungan terperinci Kuasai mekanisme kerja asas perisian tengah Tomcat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan projek jar dalam tomcat Bagaimana untuk menggunakan projek jar dalam tomcat Apr 21, 2024 am 07:27 AM

Untuk menggunakan projek JAR ke Tomcat, ikut langkah berikut: Muat turun dan nyahzip Tomcat. Konfigurasikan fail server.xml, tetapkan port dan laluan penggunaan projek. Menyalin fail JAR ke laluan penggunaan yang ditentukan. Mulakan Tomcat. Akses projek yang digunakan menggunakan URL yang disediakan.

Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Apr 21, 2024 am 07:22 AM

Untuk membenarkan pelayan Tomcat mengakses rangkaian luaran, anda perlu: mengubah suai fail konfigurasi Tomcat untuk membenarkan sambungan luaran. Tambahkan peraturan tembok api untuk membenarkan akses kepada port pelayan Tomcat. Buat rekod DNS yang menunjukkan nama domain ke IP awam pelayan Tomcat. Pilihan: Gunakan proksi terbalik untuk meningkatkan keselamatan dan prestasi. Pilihan: Sediakan HTTPS untuk meningkatkan keselamatan.

Di manakah direktori pemasangan tomcat? Di manakah direktori pemasangan tomcat? Apr 21, 2024 am 07:48 AM

Direktori pemasangan Tomcat: Laluan lalai: Windows: C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 Laluan tersuai: Anda boleh menentukannya semasa pemasangan. Cari direktori pemasangan: gunakan whereis atau locate arahan.

Bagaimana untuk menggunakan berbilang projek dalam tomcat Bagaimana untuk menggunakan berbilang projek dalam tomcat Apr 21, 2024 am 09:33 AM

Untuk menggunakan berbilang projek melalui Tomcat, anda perlu mencipta direktori aplikasi web untuk setiap projek dan kemudian: Penggunaan automatik: Letakkan direktori aplikasi web dalam direktori aplikasi web Tomcat. Penggunaan manual: Gunakan projek secara manual dalam aplikasi pengurus Tomcat. Sebaik sahaja projek itu digunakan, ia boleh diakses dengan nama penggunaannya, contohnya: http://localhost:8080/project1.

Bagaimana untuk menyemak bilangan sambungan serentak dalam tomcat Bagaimana untuk menyemak bilangan sambungan serentak dalam tomcat Apr 21, 2024 am 08:12 AM

Cara menyemak bilangan sambungan Tomcat serentak: Lawati halaman Pengurus Tomcat (http://localhost:8080/manager/html) dan masukkan nama pengguna dan kata laluan anda. Klik Status->Sesi dalam bar navigasi kiri untuk melihat bilangan sambungan serentak di bahagian atas halaman.

Di manakah direktori akar laman web tomcat? Di manakah direktori akar laman web tomcat? Apr 21, 2024 am 09:27 AM

Direktori akar tapak web Tomcat terletak dalam subdirektori webapps Tomcat dan digunakan untuk menyimpan fail aplikasi web, sumber statik dan direktori WEB-INF ia boleh didapati dengan mencari atribut docBase dalam fail konfigurasi Tomcat.

Bagaimana untuk menyemak nombor port tomcat Bagaimana untuk menyemak nombor port tomcat Apr 21, 2024 am 08:00 AM

Nombor port Tomcat boleh dilihat dengan menyemak atribut port elemen <Connector> dalam fail server.xml. Lawati antara muka pengurusan Tomcat (http://localhost:8080/manager/html) dan lihat tab "Status". Jalankan "versi catalina.sh" dari baris arahan dan lihat baris "Port:".

Bagaimana untuk menjalankan dua projek dengan nombor port yang berbeza dalam tomcat Bagaimana untuk menjalankan dua projek dengan nombor port yang berbeza dalam tomcat Apr 21, 2024 am 09:00 AM

Menjalankan projek dengan nombor port yang berbeza pada pelayan Tomcat memerlukan langkah berikut: Ubah suai fail server.xml dan tambah elemen Penyambung untuk menentukan nombor port. Tambah elemen Konteks untuk menentukan aplikasi yang dikaitkan dengan nombor port. Buat fail WAR dan gunakannya ke direktori yang sepadan (webapps atau webapps/ROOT). Mulakan semula Tomcat untuk menggunakan perubahan.

See all articles