Servlet. Membangun Aplikasi Java dengan Servlet Dasar-Dasar Servlet

Servlet - adalah Java-nporpaMMa yang menggunakan kelas HttpServiet. Servlet digunakan untuk memperluas kemampuan server yang ada, khususnya server Web. Biasanya, servlet berjalan di server khusus. Server ini disebut Server Aplikasi Java. Server aplikasi Java menyertakan server Web sebagai blok penyusun (terkadang bukan hanya satu, tetapi beberapa), serta server yang bekerja dengan komponen server, server untuk layanan tambahan, dll. Servlet berjalan di lingkungan yang disediakan oleh server. Bagian dari server yang didedikasikan untuk melayani servlet disebut wadah servlet. Spesifikasi servlet mengasumsikan bahwa kelas servlet memiliki metode standar yang dieksekusi di beberapa titik dalam siklus hidup servlet. Metode-metode ini dipanggil oleh wadah servlet. Implementasi spesifikasi servlet termasuk dalam set paket bahasa Java standar.

Buku ini berfokus pada server aplikasi Java bernama Blazix. Blazix Server menyediakan satu set lengkap kemampuan servlet. Selain membuat kelas servlet (atau kelas), serta mengonfigurasi program servlet yang dibuat dan menginstalnya di server, Anda perlu mengubah file konfigurasi server Web. Nilai utama ditentukan dalam file konfigurasi sebagai berikut: servlet.name: myservlet

servlet.myservlet.className: mypackage.MyServletClass servlet.myservlet.url: /mysrvlet

Setiap servlet harus memiliki nama(servlet.name), yang diidentifikasi di server. Nama ini digunakan untuk mengatur properti servlet, khususnya, untuk menunjukkan nama kelas tempat program servlet disimpan (baris berikutnya), serta alamat di mana servlet ini dipanggil (baris ketiga).

Klien meminta server Web untuk alamat di mana servlet berada (alamat harus ditentukan sebagai nilai servlet.myservlet.url dalam file konfigurasi server Web). Server meneruskan permintaan dan data (jika ada) ke servlet, menerima respons dari servlet, dan mengirimkannya ke klien.

Pada penjelasan tentang apa itu servlet, orang bisa menyelesaikannya. Namun, ada banyak detail menarik dan bermanfaat yang harus Anda perhatikan dan pelajari lebih detail.

Sangat penting untuk diingat bahwa jalur kelas servlet harus ditentukan dalam variabel ciasspath, atau dapat ditempatkan di direktori C:\Blazix\classes atau di direktori yang ditentukan dalam file konfigurasi server Web sebagai nilai server.ciassDir. Setelah file konfigurasi dimodifikasi untuk menyertakan informasi tentang servlet baru, server harus dihentikan dan dimulai ulang. Servlet juga dapat dihosting di server yang sedang berjalan menggunakan utilitas administrasi, tetapi untuk melakukannya, servlet harus dikemas dalam file arsip Web WAR. Jika file kelas servlet telah berubah, tidak perlu menghentikan server dan memulainya lagi. Secara default, server dikonfigurasi sehingga memanggil servlet di http://localhost:81/_reload menyebabkan semua kelas dimuat ulang dan kelas servlet yang dimodifikasi tersedia untuk permintaan klien (Gambar 4-1). Kunjungi halaman ini setelah file kelas servlet telah dimodifikasi. Menghentikan server sama sekali tidak perlu.

Jika pembaca sudah memiliki pengalaman dengan servlet, mereka akan menghargai kesederhanaan server Blazix dibandingkan dengan server Java lainnya, seperti server Tomcat.

Untuk langsung terjun ke bisnis, pertimbangkan contoh sederhana, sebuah servlet beberapa Servlet (daftar 4.1).

Daftar 4.1. Servlet SomeServlet.java I

impor java.io.*; import javax.servlet.*; impor javax.servlet.http.*;

kelas publik SomeServlet memperluas HttpServlet ( public void doGet(permintaan HttpServletRequest,

Respons HttpServletResponse) melempar ServletException, IOException ( Printwriter out = response.getWriter(); out.println("Hello World");

Di file konfigurasi server web, tulis yang berikut ini:

servlet.nama: pertama

servlet.first.className: SomeServlet

servlet.first.url: /dofirst

Kemudian panggilan ke servlet dari browser akan berbentuk http://localhost:81 /dofirst (Gambar 4.2).

Servlet Java menyediakan metode platform-independen untuk membangun aplikasi Web (ini tidak pasti, tetapi kami tidak akan menggali lebih jauh tentang subjek ini, karena dengan demikian kami perlu mendefinisikan apa yang dimaksud dengan aplikasi Web, yang tidak termasuk dalam daftar topik yang dibahas), dan banyak aplikasi yang bekerja dengan cepat dan tidak memiliki batasan aplikasi CGI. Servlet berjalan di bawah server Web dan, tidak seperti applet, tidak memerlukan antarmuka pengguna grafis. Servlet berkomunikasi dengan server dengan bertukar permintaan dan respons dengannya. Program klien membuat permintaan ke server. Permintaan diproses oleh server, diteruskan ke servlet, servlet mengirimkan respons melalui server ke klien. Servlet sangat populer saat ini untuk membangun aplikasi Web interaktif. Ada banyak Web server yang dapat bekerja dengan servlet, seperti Tomcat, iPlanet Web Server (sebelumnya Netscape

Server Perusahaan), Blazix. J Builder Enterprise menggunakan Borland Enterprise Server (BES) yang disertakan dengan paket dan juga dukungan server web Logika, WebSphere dan iPlanet. J Builder Enterprise Server menyertakan server Tomcat yang digunakan "secara default".

Beras. 4.2. Memanggil servlet

Salah satu keuntungan penting dari servlet adalah kecepatannya. Tidak seperti aplikasi CGI, servlet hanya dimuat ke dalam memori satu kali dan kemudian dieksekusi langsung dari memori. Servlet pada dasarnya adalah aplikasi multi-utas. Selain itu, mereka bebas platform, karena ditulis dalam Java.

teknologi JSP yang bab 3, merupakan perpanjangan dari teknologi servlet, di JSP Perhatian khusus berfokus pada bekerja dengan dokumen HTML dan XML. Sebagai bagian dari kode HTML dan XML, fragmen JSP paling sering digunakan. Bagaimana cara membuat pilihan dan memutuskan apa yang akan digunakan: servlet atau halaman server? Servlet lebih cocok untuk menyelesaikan tugas pemrograman tingkat rendah dan kurang cocok untuk menyelesaikan tugas membuat logika presentasi aplikasi. JSP sisi server, di sisi lain, terutama berfokus pada cara menyajikan hasil kepada pengguna dengan cara yang paling nyaman. Halaman server dibuat sejajar dengan kode HTML menggunakan gaya penulisan dokumen HTML. Teknologi JSP menyediakan fitur yang jauh lebih kaya daripada HTML biasa. JSP dapat memberikan kemampuan untuk mengimplementasikan logika aplikasi menggunakan kacang Java sederhana serta EJB sisi server dengan membuat pustaka pintasan khusus. Sendiri, halaman server Java dapat berupa komponen modular dan dapat digunakan kembali yang bekerja dengan logika presentasi yang dapat digunakan bersama dengan berbagai templat dan filter. JSP dikonversi menjadi servlet, jadi secara teoritis Anda hanya dapat menggunakan servlet. Namun, teknologi JSP didesain untuk menyederhanakan proses pembuatan dokumen Web dengan memisahkan logika presentasi aplikasi dari konten dokumen. Dalam kebanyakan kasus, respons yang dikirim ke klien terdiri dari template presentasi dokumen dan data yang dibuat secara otomatis dengan mengisi template. Dalam situasi ini, JSP jauh lebih mudah digunakan daripada servlet.

Salah satu fitur yang paling menyenangkan dari Java adalah sifatnya yang multifaset. Tentu saja pembuatan desktop tradisional dan bahkan aplikasi seluler- ini keren. Tetapi bagaimana jika Anda ingin keluar jalur dan memasuki wilayah pengembangan web Java? Untukmu disana kabar baik: Bahasa ini dilengkapi dengan Servlet API lengkap yang memungkinkan Anda membangun aplikasi web yang tangguh tanpa terlalu banyak kerumitan.

Membangun Aplikasi Java dengan Servlet

Jadi, kami telah membuat file konfigurasi aplikasi. Namun, dalam kondisi saat ini, secara harfiah tidak melakukan apa-apa. Kami ingin klien dapat mendaftar dengan formulir HTML, jadi hal selanjutnya yang perlu kami lakukan adalah membuat file JSP yang akan menampilkan formulir di atas dan detail klien setelah pendaftaran berhasil. Inilah yang akan kita lakukan sekarang.

Bekerja pada tampilan

Penampilan aplikasi akan ditentukan oleh dua file JSP - dalam konteks MVC disebut tampilan. Yang pertama akan bertanggung jawab untuk menampilkan formulir pendaftaran dan kemungkinan kesalahan dipanggil setelah memvalidasi data yang dimasukkan. Yang kedua akan menjadi halaman selamat datang normal yang akan menampilkan data yang dimasukkan oleh pelanggan setelah proses pendaftaran berhasil diselesaikan.

Ini adalah file JSP pertama:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Registrasi

Registrasi

$(pelanggaran).