Pertemuan 1
Introduction of Internet
• Sebuah jaringan global komputer ini dikembangkan 4 dekade yang lalu dengan dana yang diberikan oleh US Department of Defends
Awalnya dirancang untuk menghubungkan sistem komputer utama dari belasan universitas dan lembaga penelitian.
Introduction of Web
• Web adalah saluran yang kuat untuk pengiriman konten
- Mudah untuk mengakses, tidak perlu klien khusus, hanya browser
• Banyak perusahaan menginginkan "pasar" produk dan perusahaan mereka hidup di Web
• Berdasarkan tren, aplikasi web meningkat secara signifikan
History of the World Wide Web
• WWW
- Memungkinkan pengguna komputer untuk mencari dan melihat dokumen berbasis multimedia
- Diperkenalkan pada tahun 1990 oleh Tim Berners-Lee
• Internet saat ini
- Mencampur komputasi dan teknologi komunikasi
- Membuat informasi terus-menerus dan langsung tersedia bagi siapa saja dengan sambungan
Web Evolution
• Web seperti halaman statis: profil perusahaan, produk, nomor kontak
• Dynamic Web untuk mendukung Query Produk, personalisasi
• Hotmail diperkenalkan
• e-Shopping diperkenalkan -> B2C, B2B
• Layanan Web memperkenalkan paradigma baru untuk Web Programming
Web Technologies
• Web Server,Database Server,Application Server,Firewall,SSL,HTTPS,FTP,Domain
Web Application
• One stop shopping à Amazon.com
• Web Portal à yahoo.com
– Entertainments (games), finance, Email, Collaborations (groups), Search engine
• B2B Portal
• Banking: online banking, payment gateway
• eCommerce
• eEducation
Programming Language
• Web Design 1 .HTML, XHTML 2. Style Sheet (CSS) 3.XML, XSL, XSLT
• Language Choice: 1.Client Side Scripting: VBScript, Java script 2.Server Side Scripting: PHP, ASP, JSP 3.Java (J2EE) 4.Visual Studio.NET
Development Tools
• Content Authoring 1.Notepad 2.Ms Frontpage 2003 3.Macromedia Dreamweaver 8.0
• Programming (IDE)
– Java:
• Eclipse, Netbeans 5.5 , JDeveloper, JBuilder X
– .NET:
• Visual Studio .NET
Design Pattern and Framework
• Design Pattern dapat memberi kita latihan bagaimana cara membangun aplikasi yang baik
• Design Pattern sebagai “proven recipe” untuk bagaimana cara mendesain program
• Framework secara sederhana mempercepat pengembangan jaringan yang menyediakan kerangka
• Struts Framework
Pertemuan 2
Web Design Fundamental
• Important about designing web :
– Desain Informasi
– Desain antarmuka pengguna
– Desain Grafis
• Tools for Web Design:
– Authoring konten (HTML Editor)
– Adobe Photoshop, Illustrator
HTML Basic
• HTML
– HyperText Markup Language
– Tidak prosedural
– Markup language
• Mengidentifikasi elemen halaman browser sehingga dapat ditampilkan pada layar komp
• Digunakan untuk memformat teks dan informasi
– Ditandai dengan elements, digambarkan oleh tag
– Tags: kata kunci yang terdapat dalam tanda kurung sudut “[]"
• HTML tags
– Not case sensitive
– Baik untuk menyimpan semua surat dalam satu kasus
• Lupa untuk menutup tag adalah kesalahan sintaks
Simple HTML Pages
Saya Mahasiswa UBinus
Selamat Datang di Web Saya
Font Formatting
color=blue size=5>
Saya Mahasiswa UBinus<br>
Selamat Datang di Web Saya
Marquee
Ordered List
- Sayangilah Ibumu melebihi sayangmu dengan do’i mu
- Hormatilah dosenmu melebihi hormatmu pada Pak Polisi
- Jangan malas belajar text book dan internet
Unordered List
- Training
- Konsultasi
Hyperlink and Images
• Kita dapat menggunakan Hyperlink untuk membuat user berpindah ke lokasi yang lain
• Hyperlink dapat digunakan secara internal (within same page) or eksternal
• Syntax:
Advanced Formatting
• Table
• Frame
• Cascade Style Sheet (CSS)
• XSL (XML Style Sheet)
Table
-> baris
-> kolom
no | nama |
Inputbox and Password
Inputbox and password berguna untuk memasukkan data
Masukkan nama Anda :
dan Password :
Check and Radio Button
Negara mana yang ingin anda kunjungi:
<input type="Checkbox" name="cb value="1">Asia
Afrika
North Amerika
Europe
Jenis kelamin Anda ?
<input type="radio" name="cb value="pria">Laki-Laki
Wanita
Text Area
TextArea sangat berguna untuk memasukkan data yang lengkap
Mohon masukkan alamat lengkap Anda:
name="address" rows=5 cols=50>
Reset and Submit Button
Reset Button untuk membersihkan pesan, submit button untuk mengsubmit data
<input type=submit value="Kirim">
Frame
Pertemuan 3
Client-Side Programming
• HTML is good for developing static pages
– Dapat menentukan teks / gambar tata letak, presentasi, link..
– Halaman web tampak sama setiap kali diakses
– Dalam rangka untuk mengembangkan interaktif / halaman reaktif, harus mengintegrasika pemrograman dalam beberapa bentuk atau lain
• client-side programming
§ Program yang ditulis dalam pemrograman terpisah (or scripting) language
contoh : JavaScript, JScript, VBScript
- Program-program HTML tertanam di halaman web dengan tag untuk mengidetifikasi komponen program
Contoh :
- Browser mengeksekusi program seperti load halaman, mengintregasikan output dinamis, program seperti halaman load, mengintegrasikan output dinamis program dengan konten statis HTML
- Dapat memungkinkan user untuk masukan informasi dan proses itu, mungkin akan menggunakannya memvalidkan input sebelum dikirim dari server jauh
User-Defined Functions in JAVA SCRIPT
• Definisi fungsi sama dengan C++/java, kecuali :
– Tidak return type untu fungsi (since variables are loosely typed)
– Tidak ada penulisan variable untuk tiap parameter(since variables are loosely typed)
– by-value parameter passing only (parameter gets copy of argument)
Pertemuan 4
OnLoad & OnUnload
• Peristiwa-peristiwa paling sederhana adalah ketika halaman dibuka atau diturunkan
– Atribut pada onload tag menentukan kode javascript yang secara otomatis dijalankan ketika halaman di-load
– Yang membongkar juga atribut kode javascript yang ditetapkan secara otomatis dijalankan ketika meninggalkan halaman browser
Radio buttons
• Radio buttons sama seperti check boxes, tetapi hanya 1 yang bisa di pilih dari pemilihan yang ada.
JavaScript & Timeouts
• Untuk menset fungsi timeout dapat di gunakan untuk mengeksekusi code di waktu yang lain
setTimeout(JavaScriptCodeToBeExecuted, MillisecondsUntilExecution)
Cookies & JavaScript
• Ingat bahwa cookies adalah file data yang tersimpan pada komputer klien
– Dapat diakses dan / atau dimodifikasi oleh server
– Juga dapat di akses dan / atau dimodifikasi secara langsung oleh javascript dalam halaman
• potential applications:
– e-commerce: mengingat nama konsumer, terakhir datang / pembayaran, password, …
– tutorials: Ingat pengalaman masa lalu, kinerja pada kuis, …
– games: mengingat nilai terbaik, waktu terbaik, …
• Setiap halaman web mempunyai cookies sendiri masing-masing
– document.cookie is a string of attribute=value pairs, separated by ;
• "userName=Dave;score=100;expires=Mon, 21-Feb-01 00:00:01 GMT"
Pertemuan 5
Web Fundamental
Web browsers and servers
– Internet adalah “hanya” satu set jaringan saling berhubungan secara longgar
– Satu set area lokal jaringan yang terhubung melalui wide area network
– Tidak ada kontrol terpusat melalui wide area network
– Segmen jaringan interkoneksi melalui router
– Router adalah komputer khusus yang mengelola data paket
– TCP/IP adalah protokol data universal pada jaringan
– Format yang sebenarnya, konten kiri ke tingkat lebih tinggi protokol, seperti web (HTTP)
Web Server Basic
• Tugas
– Mendengarkan Port
– Ketika seorang klien tersambung, membaca, http request
– Menjalankan beberapa fungsi lookup
– HTTP mengirim respon dan data yang di minta
HTTP Protocol Definitions
• HTTP is…
– Designed for document transfer
– Generic
• not tied to web browsers exclusively
• can serve any data type
– Stateless
• no persistant client/server connection
TCP/IP
• IP menyediakan metode mendistribusika data dalam paket, dapat mendistribusikan paket-paket ke tujuan melalui router yang berbeda, dan dapat mengatasi kemacetan dengan cara ini
• TCP menyediakan virtual circuit, deteksi error dan koreksi, ulangi permintaan otomatis, dan terpercaya lainnya end-to-end komunikasi, menggunakan protokol IP untuk transmisi (TCP dirancang untuk akurat, tidak selalu tepat waktu, komunikasi)
• TCP menangani paket data di tempat tujuan karena mereka dapat tiba rusak karena skema routing IP untuk menghindari kemacetan
• TCP/IP bersama-sama menyediakan untuk fungsi yang paling umum digunakan di internet yaitu e-mail, transfer file, dan dasar dari protokol HTTP untuk dokumen halaman web
World Wide Web
• Web adalah terbesar di dunia klien / server sistem
Komunikasi terjadi melalui pesan lewat
• Dalam browser, pilih URL halaman yang diinginkan
• Browser meminta halaman dari server
• Server menjawab dengan pesan yang berisi
– Jenis halaman (HTML, gif, pdf, zip, …)
– Halaman isi
• Browser menggunakan info untuk jenis halaman ditampilkan dengan benar
• Jika halaman berisi item lain (images, applets, …),
Browser harus meminta masing-masing secara terpisah
HTTP
• Hypertext transfer protocol (HTTP):
Protokol tingkat aplikasi untuk didistribusikan, kolaboratif, sistem informasi hypermedia
– Generik, tanpa kewarganegaraan, berorientasi objek
– Dapat digunakan untuk banyak tugas, seperti nama server & system manajemen objek terdistribusi
– Bahasa dasar web
• HTTP/1.0 hanya memperbolehkan pesan koneksi yang kurang
§ Setiap request / response memerlukan sambungan baru
§ Untuk mendownload halaman dengan gambar memerlukan beberapa sambungan
Dapat membebani server, membutuhkan banyak biaya overhead
• HTTP/1.1 menyediakan koneksi terus-menerus secara default
§ Sekali klien & server terhubung, tetap buka sampai diperintahkan untuk menutupnya (or timeout)
Mengurangi jumlah koneksi, menghemat overhead
- Klien dapat mengirimkan beberapa permintaan tanpa menunggu jawaban
e.g., can request all images in a page at once
Response Header Fields
• Baris pertama dari respon server berisi kode status
– 200 OK
Permintaan berhasil di proses
– 301 Pindah secara permanen
Dokumen sudah dipindahkan
– 304 Tidak di ubah
Dari versi cache up-to-date
– 400 Permintaan buruk
Syntax kesalahan dalam permintaan klien
– 403 dilarang
Klien tidak di perbolehkan mengakses(e.g., protected)
– 404 tidak ditemukan
Berkas tidak dapat ditemukan
– 500 kesalahan server internal
Server gagal
– 503 layanan tidak tersedia
kelebihan beban server
Request Header Fields
• di samping kode status, respon server dapat mencakup
– klien dapat menentukan informasi tambahan dalam permohonan
User-Agent menentukan versi browser
– Referer memberitahu server di mana pengguna berasal dari
berguna bagi pelanggan liar dan pelacakan
– Form Berisi alamat email dari pengguna
biasanya tidak digunakan untuk alasan privasi
– Otorisasi dapat mengirim username & password
digunakan dengan dokumen-dokumen yang memerlukan otorisasi
– Jika-Diubah-Sejak hanya mengirim dokumen jika lebih baru dari tanggal tertentu
digunakan untuk caching
Other Request Methods
• HEADàmirip dengan GET, tetapi hanya permintaan informasi header berguna untuk memeriksa untuk melihat apakah sebuah dokumen ada, bagaimana baru-baru ini
• POSTàmirip dengan GET, tapi encode input berbeda berguna untuk mengirimkan isi pada formulir program CGI, dan juga sering digunakan dalam naskah PHP untuk mengirimkan informasi
• PUTàmeng-upload dokumen ke server baru dalam HTTP/1.1
• DELETEàmenghapus sebuah dokumen dari server baru dalam HTTP/1.1
Caching
– cache browser halaman untuk menyimpan download
– mempertahankan penyimpanan sementara (cache) untuk halaman terakhir
– saat halaman diminta, periksa untuk melihat apakah sudah ada di cache
– jika tidak dalam cache, isu permintaan GET
– ketika pesan respons tiba,
– halaman tampilan dan simpan dalam cache (bersama dengan header info)
– jika sudah disimpan dalam cache, kirimkan permintaan GET dengan Jika-Diubah-Sejak header set ke data pada halaman yang di-cache
– ketika pesan respons tiba,
– jika kode status 200, kemudian menampilkan dan simpan dalam cache
– jika kode status 304, kemudian menampilkan versi tersimpan dan bukan
Cookies
• Message HTTP lewat adalah berbasis transaksi, tanpa negara
– banyak aplikasi e-commerce memerlukan memori gigih interaksi pelanggan
e.g., amazon.com
mengingat nama Anda, kartu kredit, pembelian masa lalu, kepentingan
Situs lain menggunakan "shopping cart" untuk pembelian, login untuk akses, dll
• Netscape solusi: cookie
– cookie adalah kumpulan informasi tentang pengguna, dan browser dapat menyimpan beberapa informasi tentang mesin yang dapat kemudian meminta
– Server dapat men-download sebuah cookie pada komputer klien dengan menggunakan "Set-cookie" Header tanggapan
Set-Cookie: CUSTOMER = Alex_Thompson; PATH = /; expires = Kamis, 29-Jan-2010 12:00:00
– ketika pengguna kembali ke URL di jalan tertentu, browser mengembalikan data cookie sebagai bagian dari permintaan
Cookie: CUSTOMER = Alex_Thompson
Pertemuan 6
Client-Server Relationship
Revisited
• Dalam hubungan client-server, permintaan klien bahwa beberapa tindakan dilakukan dan server melakukan aksi dan merespon ke klien.
• Model komunikasi meminta-merespons model merupakan dasar untuk tampilan tingkat tertinggi dari jaringan di Jawa - servlets dan JavaServer Pages (JSP).
• Sebuah servlet memperluas fungsionalitas dari sebuah server, seperti web server yang melayani halaman web ke browser pengguna menggunakan protokol HTTP. Sebuah servlet hampir bisa dianggap sebagai sebuah applet yang berjalan di sisi server - tanpa wajah. Java servlets membuat banyak aplikasi web mungkin.
• Paket javax.servlet dan javax.servlet.http menyediakan kelas-kelas dan interface untuk mendefinisikan servlets. Paket javax.servlet.jsp dan javax.servlet.jsp.tagext menyediakan kelas-kelas dan interface yang servlet memperluas kemampuan untuk JSP.
• Menggunakan sintaks khusus, JSP memungkinkan halaman Web pelaksana untuk membuat halaman yang merangkum fungsi Java dan bahkan scriplets menulis kode Java aktual langsung ke halaman.
• Pelaksanaan umum permintaan-model respons antara Web browser dan Web server. Ketika seorang pengguna memilih situs Web untuk melihat-lihat melalui browser (aplikasi client), permintaan dikirim ke server Web yang sesuai (aplikasi server). Server biasanya merespon klien dengan mengirimkan halaman Web sesuai XHTML.
• Servlets yang efektif untuk mengembangkan solusi berbasis web yang membantu menyediakan akses yang aman ke sebuah situs Web, berinteraksi dengan database atas nama klien, secara dinamis menghasilkan dokumen XHTML kustom untuk ditampilkan oleh browser dan memelihara informasi sesi yang unik untuk setiap klien.
Static and Dynamic
Web Content
• Pertimbangkan bagaimana sebuah halaman web yang ditampilkan oleh browser.
– Biasanya, halaman web dibuat menggunakan HTML dan disimpan sebagai sebuah file di web server. Seorang pengguna memasukkan URL untuk file dari web browser. Kontak browser web server dan permintaan file. Server menemukan file dan kembali ke browser. Browser kemudian menampilkan file bagi pengguna.
– Informasi statis disimpan dalam file HTML. HTML file dapat diperbarui, tetapi pada waktu tertentu, setiap permintaan file yang sama persis kembali konten yang sama. Isinya tidak berubah peduli siapa yang meminta file.
• Tidak semua informasi, bagaimanapun, adalah statis di alam. Ingat, tugas pemrograman pertama. Halaman HTML yang dihasilkan informasi ini harus dihasilkan secara dinamis.
• Halaman web dinamis yang dihasilkan oleh server web. Web server akan menjalankan program tertentu untuk memproses permintaan dari browser pengguna untuk menghasilkan respons yang disesuaikan.
• Common Gateway Interface (CGI) telah diusulkan untuk menghasilkan konten web yang dinamis. Interface memberikan kerangka kerja standar untuk web server untuk berinteraksi dengan program eksternal yang dikenal sebagai program CGI.
CGI Programming
• Ketika web server menerima permintaan dari browser lewat ke program CGI. Program CGI proses permintaan dan menghasilkan respon pada saat runtime. Program CGI dapat ditulis dalam bahasa apa pun, tapi Perl adalah pilihan yang paling populer.
The GET and POST Methods
• Dua permintaan HTTP yang paling umum, juga dikenal sebagai metode, adalah GET & POST.
• Isu browser web permintaan menggunakan URL atau HTML dari web untuk memicu server untuk mengeksekusi suatu program CGI. (Kami akan menangani bentuk nanti.) Ketika mengeluarkan permintaan CGI langsung dari URL, metode GET digunakan.
• Bentuk URL dikenal sebagai query string. URL query string terdiri dari lokasi program CGI, parameter, dan nilai-nilai mereka.
• Ketika mengeluarkan permintaan dari bentuk HTML, baik metode GET atau POST dapat digunakan.
• Form secara eksplisit menentukan mana yang digunakan.
• Jika digunakan metode GET, data dalam formulir adalah ditambahkan untuk string permintaan seakan-akan mereka diserahkan menggunakan URL.
• Jika Metode POST digunakan, data dalam bentuk dikemas sebagai bagian dari permintaan berkas. Program server memperoleh data dengan membaca file.
Java Servlets
• Java servlets dijalankan atas permintaan dari browser web.
• Semua servlets mengeksekusi servlet dalam sebuah wadah (servlet container), juga disebut sebagai server (servlet server) atau servlet mesin servlet (servlet engine).
• Sebuah kontainer servlet adalah sebuah proses tunggal yang menjalankan sebuah JVM (Java Virtual Machine). The JVM menciptakan thread untuk menangani setiap servlet (ingat bahwa thread kurang overhead dari proses meledak penuh). Semua benang berbagi memori yang sama dialokasikan ke JVM. Karena JVM tetap di luar siklus hidup satu eksekusi servlet, servlets dapat berbagi objek sudah dibuat dalam JVM.
– Sebagai contoh, jika ada beberapa servlets mengakses database yang sama, mereka dapat berbagi sambungan objek.
Thin Clients
• Servlets adalah solusi ideal untuk database-aplikasi yang intensif berkomunikasi dengan thin client.
– Thin client adalah aplikasi yang memberikan presentasi tetapi tidak memproses data, sehingga membutuhkan beberapa sumber daya komputasi.
• Server bertanggung jawab untuk akses database. Klien tersambung ke server dengan menggunakan protokol standar yang tersedia pada sebagian besar platform klien. Logika presentasi-kode untuk menghasilkan konten dinamis dapat ditulis sekali dan berada pada server untuk akses oleh klien, untuk memungkinkan para programmer untuk membuat thin client efisien.
Apache Tomcat Server
• Sun Microsystems, melalui Java Community Process bertanggung jawab untuk pengembangan servlet dan spesifikasi JSP.
• Untuk menjalankan Java servlets, Anda membutuhkan wadah servlet. Sementara banyak servlet wadah yang tersedia, referensi implementasi kedua standar ini dikembangkan oleh Apache Software Foundation (www.apache.org) sebagai bagian dari Jakarta Project.
• The Jakarta Project berisi banyak proyek yang dirancang untuk membantu sisi server komersial pengembang.
The servlet dan JSP bagian dari Proyek Jakarta disebut Tomcat. Tomcat adalah referensi resmi pelaksanaan standar JSP dan servlet. Tomcat dapat digunakan sendiri sebagai web server atau terhubung ke sebuah server web seperti Apache, IIS, dll. Pelaksanaan stabil saat ini adalah Tomcat 5.5.7.
Servlet Overview and
Architecture
• Internet menawarkan banyak protokol. HTTP (Hypertext Transfer Protocol) yang membentuk dasar dari WWW menggunakan URL (Uniform Resource Locators) untuk mencari sumber-sumber di Internet.
• URL dapat mewakili file atau direktori dan dapat mewakili tugas-tugas kompleks seperti database pencarian dan Internet pencarian.
• JSP teknologi, pada dasarnya merupakan perluasan dari teknologi servlet, menyederhanakan proses menciptakan halaman dengan memisahkan presentasi dari konten.
• Biasanya, JSP digunakan ketika sebagian besar konten yang dikirimkan ke klien dan markup teks statis, dan hanya sebagian kecil dari konten yang dihasilkan secara dinamis dengan kode Java.
• Servlets lebih sering digunakan ketika sebagian kecil dari isi dikirim ke klien adalah teks statis atau markup. Bahkan, beberapa servlets tidak menghasilkan konten. Sebaliknya, mereka melakukan tugas atas nama klien, kemudian meminta servlets atau JSP lain untuk memberikan tanggapan.
• Perhatikan bahwa dalam kebanyakan kasus teknologi servlet dan JSP yang dipertukarkan.
• Server yang menjalankan sebuah servlet ini disebut sebagai servlet container atau servlet engine.
• Servlets dan JSP telah menjadi sangat populer sehingga mereka sekarang didukung secara langsung atau dengan pihak ketiga plug-in oleh sebagian besar Web server dan aplikasi server (server yang menjalankan aplikasi-aplikasi untuk menghasilkan halaman Web dinamis dalam menanggapi permintaan).
• Kita akan melihat servlets yang melaksanakan upaya-ulang model respons antara klien dan server dengan menggunakan protokol HTTP. Arsitektur ini diperlihatkan dalam diagram di bawah ini.
Explanation of the architecture diagram on previous page
Penjelasan :
• Sebuah aplikasi klien mengirimkan permintaan HTTP ke server.
• Servlet kontainer yang menerima permintaan dan mengarahkan itu untuk diproses oleh servlet yang sesuai.
• The servlet melakukan prosesnya, yang mungkin termasuk berinteraksi dengan database atau komponen sisi server, seperti servlets lain atau JSP.
• The servlet mengembalikan hasil-hasilnya kepada klien - biasanya dalam bentuk HTML, XHTML, atau dokumen XML untuk menampilkan pada browser.
The Servlet Lifecycle
• Setelah selesai init eksekusi, servlet dapat menanggapi permintaan pertama.
• Semua permintaan akan ditangani oleh metode service servlet, yang menerima permintaan, proses dan mengirimkan respon kepada klien.
• Selama siklus servlet, metode service dipanggil sekali per permintaan. Setiap permintaan baru biasanya ditangani dalam thread terpisah eksekusi (dikelola oleh servlet container) di mana metode service dijalankan.
• Ketika mengakhiri kontainer servlet servlet (setiap kali membutuhkan lebih banyak memori servlet atau ketika shutdown), maka metode destroy servlet dipanggil untuk melepaskan sumber daya servlet.
A Tour of Tomcat (cont.)
logs
• Direktori log berisi file-file log yang dibuat oleh Tomcat. File catalina.out berisi apa pun yang ditulis untuk System.out dan System.err, serta informasi yang relevan ke server secara keseluruhan.
Common
• Direktori ini berisi tiga subdirektori - kelas, lib, dan disahkan - yang berisi kode yang digunakan oleh Tomcat. Direktori kelas secara efektif ditambahkan ke CLASSPATH, seperti juga semua file jar di lib dan disahkan. Jar file yang mungkin diperlukan di seluruh Tomcat, seperti JDBC driver, ditempatkan dalam direktori ini.
server
• Direktori ini berisi tiga subdirektori - kelas, lib, dan disahkan - yang berisi kode yang digunakan oleh Tomcat. Direktori kelas secara efektif ditambahkan ke CLASSPATH, seperti juga semua file jar di lib dan disahkan. Kustom jar file yang mungkin diperlukan di seluruh Tomcat, seperti JDBC driver, ditempatkan dalam direktori ini.
shared
• Ini adalah direktori lain yang berisi lib kelas dan subdirektori. Kelas dan JAR dalam direktori ini tersedia untuk semua aplikasi web, tetapi tidak akan tersedia untuk infrastruktur server.
webapps
• Direktori ini berisi semua aplikasi web Tomcat dikonfigurasi untuk menjalankan, salah satu aplikasi web per subdirektori. Kami akan menempatkan aplikasi web yang kita kembangkan ke dalam subdirektori di direktori ini. Kita akan melihat lebih detail pada struktur subdirektori ini agak terlambat.
work
• Direktori ini digunakan oleh Tomcat untuk menahan servlets yang dibangun dari halaman JSP. Pengguna akan biasanya tidak memerlukan apa-apa di direktori ini.
temp
• Direktori ini digunakan secara internal oleh Tomcat dan dapat diabaikan.
Servlet Interface
• Paket yang servlet mendefinisikan dua kelas abstrak yang mengimplementasikan antarmuka Servlet - GenericServlet kelas (dari paket javax.servlet) dan kelas HttpServlet (dari paket javax.servlet.http).
• Kelas-kelas ini menyediakan implementasi default dari beberapa metode Servlet.
• Kebanyakan servlets memperpanjang baik GenericServlet atau HttpServlet dan menimpa beberapa atau semua metode mereka.
• The GenericServlet adalah sebuah protokol-indpendent servlet, sementara HttpServlet menggunakan protokol HTTP untuk bertukar informasi antara klien dan server.
• Kami akan secara eksklusif memfokuskan pada HttpServlet digunakan di Web.
• HttpServlet mendefinisikan kemampuan pemrosesan yang disempurnakan untuk layanan yang memperpanjang fungsi server Web.
• Metode kunci dalam setiap servlet adalah service, yang menerima baik object ServletRequest dan objek ServletResponse. Objek ini menyediakan akses ke aliran input dan output yang memungkinkan servlet untuk membaca data dari dan mengirim data ke klien.
• Jika terjadi masalah selama eksekusi servlet, baik ServletExceptions atau IOExceptions dilemparkan untuk menunjukkan masalah.
HTTPServlet Class
• Servlets biasanya kelas memperpanjang HttpServlet, yang mengabaikan layanan metode untuk membedakan antara berbagai permintaan yang diterima dari klien browser web.
• Kedua paling umum jenis permintaan HTTP (juga dikenal sebagai metode permintaan) adalah mendapatkan dan post. (Lihat juga servlets - Bagian 1 catatan.)
– Sebuah permintaan GET mengambil informasi dari server. Biasanya, sebuah dokumen HTML atau gambar.
– Sebuah permintaan POST mengirim data ke server. Biasanya, permintaan pasca digunakan untuk menyampaikan masukan pengguna untuk data-proses penanganan, toko atau memperbarui data pada server, atau mengirim pesan ke news group atau forum diskusi.
– Mendefinisikan metode Kelas HttpServlet doGet dan doPost untuk merespon dan pasca mendapatkan permintaan dari klien.
• Metode doGet dan doPost dipanggil oleh metode service, yang dipanggil oleh servlet container ketika permintaan tiba di server.
• Metode pertama layanan menentukan jenis permintaan, yang akan memanggil metode yang tepat untuk menangani permintaan seperti itu.
• Selain metode doGet dan doPost, metode-metode berikut ini didefinisikan di kelas HttpServlet:
– doDelete (biasanya menghapus file dari server)
– doHead (hanya diinginkan klien tidak ada tanggapan header seluruh tubuh)
– doOptions (kembali pilihan HTTP didukung oleh server)
– doPut (biasanya menyimpan suatu file di server)
– doTrace (untuk keperluan debugging)
HTTPServletResponse Interface
• Setiap doGet atau doPost untuk HttpServlet menerima sebuah obyek yang mengimplementasikan antarmuka HttpServletResponse.
• Servlet Container yang membuat objek HttpServletResponse dan memberikannya ke metode service servlet, yang pada akhirnya, memberikan ke doGet atau doPost.
• Objek ini menyediakan metode yang memungkinkan servlet untuk merumuskan respon terhadap klien.
• Daftar lengkap dari metode HttpServletRequest tersedia di:
ww.java.sun.com/j2ee/1.4/docs/api/index.html
Namun, beberapa dari yang lebih umum akan ditampilkan pada halaman berikutnya. (Juga dapat diakses dari Tomcat.)
HTTPServletRequest Methods
• Cookie [] getCookies () - mengembalikan sebuah array dari Cookie benda yang disimpan pada klien oleh server. Cookie digunakan untuk secara unik mengidentifikasi klien ke server.
• String getLocalName () - mendapatkan nama host di mana permintaan itu diterima.
• String getLocalAddr () - mendapatkan alamat IP di mana permintaan itu diterima.
• int getLocalPort () - mendapat IP nomor port di mana permintaan itu diterima.
• String getParameter (String name) - mendapat nilai parameter set ke servlet sebagai bagian dari get atau post.
• void addCookie (Cookie cookie) - menambahkan sebuah Cookie ke header respon kepada klien.
• ServletOutputStream getOutputStream () - mendapat byte output berbasis biner sungai untuk mengirimkan data ke klien.
• PrintWriter getWriter () - mendapat karakter berbasis output stream untuk mengirimkan data teks (biasanya teks berformat HTML) kepada klien.
• void SetContentType (String tipe) - menentukan jenis konten respon ke browser untuk membantu dalam menampilkan data.
• void getContentType () - tipe konten mendapatkan respon.
Tidak ada komentar:
Posting Komentar