Kamis, 28 Mei 2015

JSP

Pemograman Web 1 pertemuan 9

JSP adalah suatu teknologi web berbasis bahasa pemograman java dan berjalan di platform java, serta merupakan bagian dari teknologi J2EE.

Cara kerja JSP :
1. Pemakai yang ingin mengakses halaman web mula mula mengirimkan permintaan halaman web melalui protokol HTTP dalam bentuk JSP.
2. Permintaan akan disampaikan ke Web server.
3. Web server akan mengambil dokumen JSP dan mengirimkan ke JSP Servlet Engine,

Pada tahap web server mengambil dokumen JSP, ada pemogresan kode kode JSP termasuk melakukan pengompilasian dan membentuk kode HTML. Kode HTML ini disampailan oleh web server ke klien yang memintanya. Kode HTML ini selanjutnya diproses oleh browser sehingga user bisa memperoleh informasi halaman webnya.

Detail pemogresan oleh JSP Servlet engine adalah :
  • Melakukan pemilahan atau parsing kode JSP
  • membangkitkan kode sumber Servlet
  • mengkompilasi kode sumber servlet menjadi sebuah kelas
  • membuat instant servlet
  • memberikan keluaran servlet ke web server.

Kelebihan JSP:
  • JSP dapat berjalan pada semua platform
  • JSP cenderung memiliki performasi yang lebih baik, karena JSP dilakukan kompile terlebih dahulu menjadi servlet yang berupa bytecode
  • Didukung bahasa java yang memiliki kemampuan OOP dan tingkat reusability yang tinggi
  • Dapat menggunakan javabean untuk mengaksulasi kode kode java.

Kekurangan JSP :
  • Proses kompile halaman JSP mengakibatkan proses loading yang lama sehingga menyebabkan kecepatan proses JSP secara menyeluruh berkurang.

Elemen pada JSP :
1. Directives : merupakan suatu petunjuk bagi web container tentang sesuatu yang harus dilakukan pada saat container melakukan compile halaman JSP
Sintaks :
<%@ namaDirective attribute1=”value1” attribute2 =”value2” %>
2. Scripting Elements : tag untuk menuliskan program java
Sintaks :
<%! Deklarasi variable dan method %>
3. Action : spesial tag yang memberikan pengaruh pada halaman JSP pada saat runtime
Sintaks :
Untuk beanDetail berupa salah satu dibawah ini :
class = “className”
class = “className” type = “typeName”
beanName = “beanName” type = “typeName”
type = “typeName”

Scripting Element terbagi atas tiga:
• Scriplet, berisi statement-statement yang merupakan logika dari suatu proses.
Contoh :
<% System.out.println(“Test Scriptlets”); %>
• Deklarasi, gunanya untuk mendeklarasikan variabel atau method.
Contoh :
<%! int i = 10 ; double x = 5.0 ; %>
• Ekspresi, berguna untuk menampilkan nilai dari suatu variabel atau method.
Contoh :
<%
String oAnalisa=oAnalisaReview.getAnalisa(oIDK);
%>

Referensi :
http://akademiainformatika.blogspot.com/2014/05/blog-post.html

Database JDBC dan ODBC

Pemograman Web 1 Pertemuan 8

Pada pertemuan kali ini, kelompok yang presentasi membahas tentang dua konsep tentang koneksi database atau interface database yang dapat digunakan.

A. JDBC

JDBC atau Java Database Connectivity adalah sebuah API atau interface database yang dibangun untuk platform java.

JDBC adalah spesifikasi standar dari javaSoft APi yang memungkinkan program Java untuk mengakses sistem database managemen. JDBC menyediakan methods untuk melakukan query dan modifikasi data RDBMS seperti Oracle, SQL server, MySQL, dll menggunakan driver manafer.

Komponen JDBC 

Berikut komponen penting dari JDBC:
  •  JDBC-API : menyediakan fasilitas untuk mengakses database dari program berbahasa java. melalui komponen ini user dapat melakukan proses query dan perubahan data dalam database.
  • JDBC Driver Manager : komponen kelas utama yang mendefenisikan objek yang mengkoneksikan aplikasi java ke JDBC driver. Komponen ini berfungsi untuk mengatur beberapa tipe JDBC database driver yang berbeda.
  • JDBC Test Suite : komponen ini memastikan JDBC driver dapat menjalankan program user dan berguna dalam melakukan testing aplikasi.
  • JDBC-ODBC Bridge : database driver yang menggunakan ODBC driver untuk koneksi ke database serta untuk tranlasi dari JDBC pemanggilan method ke ODBC pemanggilan fungsi dan mengimplementasikan JDBC yang didukung oleh ODBC.

Tipe tipe JDBC :
1. JDBC ODBC Bridge
 

Fungsi : translasi query dari JDBC ke ODBC query 
Keunggulan : semua database yang didukung oleh ODBC dapat diakses
Kelemahan: performance overhead, ODBC driver harus diinstall di semua client, dan dibutuhkan client side software.

2. Java to Native API


Fungsi : konversi pemanggilan JDBC ke client API untuk database
Keunggulan: performa lebih baik dari pada tipe 1
Kelemahan : Vendor client library harus diinstall di client, tidak dapat digunakan di internet karena membutuhkan client side software, dan tidak semua database memberikan client side library.

3. Java to Network Protocol or All java Driver

 
Fungsi : menggunakan pendekatan 3tier komunikasi, vendor independet.
Keunggulan : tidak membutuhkan installasi pada client side, dan middleware server dapat memberikan fungsi tambahan dalam hal caching, auditing dll dan dapat digunakan diinternet
Kelemahan : membutuhkan program bersifat database spesifik untuk middle tier dan extra layer dapat menyebabkan time bottkeneck.

4. Java to Database Protocol


Fungsi : melakukan komunikasi lansung dengan database melalui koneksi socket, driver berfungsi mengubah pemanggilan JDBC ke database protokol lansung, dan dapat diimplementasi sepenuhnya dalam java
Keunggulan : Performa cenderung meningkat, tidak melakukan tranlasi ke ODBC, tidak mengunakan client API, dan tidak menggunakan middleware layer.
kelemahan: pada sisi client, driver masing masing database harus terinstal.

Langkah langkah mengkoneksikan JDBC:
1. Mengimport package java.sql

java.sql.Connection
java.sql.DriverManager
java.sql. Statement
java.sql. ResultSet

2. Memanggil driver JDBC

Class.forName(namaDriver);
atau
Class.forName(namaDriver).newInstance()

3. Membangun Koneksi

try {
String url = “jdbc:mysql://localhost:3306/Dbase”;
String user = “adi”
String password “ternate”

Connection koneksi = DriverManager.getConnection(url,user, password);
System.out.prinln(“Proses apabila koneksi sukses”);
} catch (SQLException sqle) {
System.out.println(“Proses apabila koneksi gagaldilakukan”);
}

4. Membuat statement

Statement stat = Connecetion.createStatement();

5. Melakukan query

String sql = "DELETE FROM data_siswa WHERE kode =“1234”;
PreparedStatement stat = konek.prepareStatement(sql);
       stat.executeUpdate();
6. Memproses Hasil
7. Menutup koneksi

statement.close();
connection.close();

B. ODBC

ODBC atau Open Database Connectivity adalah interface database yang dibangun oleh perusahan windows.

JDBC API memiliki beberapa komponen utama yang berhubungan dengan mekanisme pengolahan data baik itu untu berkomunikasi dengan database server, melakukan koneksi, mengirim perintah SQL, mendapatkan data, menutup koneksi, serta penanganan error yangg mungkin terjadi dalam pengolahan data.  Komonen-komponen tersebut adalah sebagai berikut:
  • Driver adalah komponen untuk menangani komunikasi database server
  • Driver Manager adalah komponen untuk menangani obyek Driver dimana obyek Driver Manager juga mengabstraksi detail dari proses kerja obyek Driver
  • Connection adalah komponen untuk merepresentasikan koneksi secara fisik ke Database
  • Statment adalah komponen untuk mengirim perintah-perintah SQL ke database
  • ResultSet adalah komponen untuk menyimpan data yang didapat dari database setelah perintah SQL dijalanan dengan menggunakan komonen Statment
  • SQL Exception adalah komponen untuk menangani kesalahan-kesalahan atau error yang mungkin terjadi dalam pengolahan database.



    Referensi :
    https://dklp02j2ee11.wordpress.com/2011/11/16/pengertian-jdbc/
    http://meldhycom.blogspot.com/2013/05/membuat-database-dengan-odbc-ms-access.html

HTTP Request dan HTTP Respon

Pemograman Web 1 Pertemuan 7

Pada catatan pw kali ini, kita akan membahasa tentang bentk komunikasi antara client dan server yaitu request dan respond.

HTTP itu adalah suatu bentuk protokol umum, yang digunakan oleh server dan client untuk berkomunikasi di dunia web. Komunikasi ini terjadi dalam bentuk request dan response. Jadi, kalo sang client merequest, maka sang server akan merespon.

Respon apa yang akan diberikan oleh sang server, sangat bergantung dari request (permintaan) dari sang client.

Klien dan Server Web

Siklus hidup dari permintaan HTTP umumnya terlihat seperti ini:
  1. Seorang pengguna mengunjungi URL dari sebuah situs web.
  2. Hal ini menciptakan permintaan yang diarahkan ke web server melalui internet (jaringan DNS itu, router dan switch) melalui HTTP (Hypertext Transfer Protocol).
  3. Web server menerima permintaan HTTP dan merespon pengguna dengan halaman web (atau isi) yang diminta.


1. HTTP Request

Request adalah permintaan dari client yaitu web browser seperti Firefox, Chrome dll ke server seperti web server.

Contoh HTTP request :
GET /kategori/desain/blah-blah-blah/ HTTP/1.1
Host: www.namasitus.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=vj2r4q43ibr2t5u5djq1q73vt0
Pragma: no-cache
Cache-Control: no-cache
Stuktur dan method request
  • Get : Bagian method untuk menandakan jenis request yang digunakan..
  • Path : merupakan bagian dari URL yang diambil setelah nama domain
  • Host : berisi host dan port yang digunakan pada original URL
  • Accept : berisi informasi MIME atau tipe yang akan dikenali oleh browser
  • Accept-Encoding : berisi informasi encoding yang dikenali oleh browser
  • Connection : memberitahu ke server apakah client dapat menghandle HTTP connections
  • Cookie : mengirimkan kembali cookie ke server

 Transaksi HTTP
  

2. HTTP Respons

Setelah browser mengirimkan request, server kemudian akan membalasnya dengan sebuah HTTP respons

Contoh Format Pesan HTTP

Contoh HTTP Response:
HTTP/1.1 200 OK
 Server: Microsoft-IIS/5.0
 Date: Tue, 31 Oct 2012 03:01:44 GMT
 Connection: close
 Content-Type: message/http
 Content-Length: 39

Bagian pertama dari response adalah versi protokol. Format dan arti versi protokol sama dengan yang ditemukan pada pesan request.
Bagian berikutnya dari response, yaitu 200 OK  berisi kode status dari informasi yang diminta oleh pesan request. Jika method memberikan informasi apa yang harus dilakukan, maka bagian ini memberikan informasi apa yang terjadi setelah operasi dilakukan. Kode status terdiri dari dua bagian:
  1. Bagian pertama berupa kode angka (status-code; 200 pada contoh). Dibuat agar kode status mudah diproses oleh komputer.
  2. Bagian kedua berupa teks penjelasan (reason-phrase; OK pada contoh). Dibuat agar mudah dimengerti oleh manusia (pengguna sistem).
Kode status dibagi ke dalam beberapa kateogri, yang dapat dilihat pada tabel berikut:

Keseluruhan KodeKode yang TerdefinisiKategori
100 - 199100 - 101Informasional
200 - 299200 - 206Sukses
300 - 399300 - 305Redirection
400 - 499400 - 415Kesalahan Client
500 - 599

500 - 505Kesalahan Server
Referensi :
http://bertzzie.com/knowledge/serverside-nodejs/ProtokolHTTP.html


















Jumat, 08 Mei 2015

Web Arsitektur dan Konsep MVC

Pemograman Jaringan 1

Arsitektur web merupakan struktur rancangan (desain) web agar dapat tersusun suatu informasi yang tepat (terorganisasi) dan mudah ditemukan isinya. Dimana struktur rancangan harus memenuhi beberapa aspek antara lain form, fungsi, navigasi, interface, interaksi, visual, dan maksud informasi itu sendiri, yang akan dibangun dalam sebuah web.

Pertimbangan besarnya dari kebutuhan dan batasan dalam pembangunan sebuah web meliputi:
  • Kebutuhan fungsional
  • Kebutuhan kualitas
  • Integrasi dengan sistem yang telah ada

Kategori arsitektur web :
  1. Aspek Layering yaitu software distrukturkan dalam beberapa tier atau tingkatan untuk mengimplementasikan pemisahan urusan
  2. Aspek data, terbagi dua yaitu secara terstruktur seperti relasional database dan XML, dan secara non struktur meliputi konten multimedia dan gambar,audio,video.

Komponen arsitektur aplikasi web dasar yaitu:
  1. Client : biasanya browser
  2. Firewall : software yang mengatur jaringan internet dengan LAN perusahaan
  3. Proxy : untuk menyimpan halaman web pada cache
  4. Web server: bagian pendukung protokol web untuk memproses permintaan client.
  5. Database server: menyediakan data dalam bentuk terstruktur
  6. Media server: untuk content streaming data besar yang tidak terstruktur
  7. Content management server: menangani content untuk melayani aplikasi
  8. Aplikasi server: melayani permintaan akses dari komputer client.

Pattern
Pattern adalah solusi yang digunakan untuk menangani masalah pada design. Design pattern bukan desain final yang dapat ditransformasikan secara langsung kedalam kode. Ini hanyalah deskripsi atau template untuk mengetahui bagaimana menyelesaikan permasalahan yang dapat digunakan pada berbagai macam situasi yang berbeda.

Framework
Fremework adalah sekumpulan fungsi, class, dan aturan-aturan. Berbeda dengan library yang sifatnya untuk tujuan tertentu saja, framework bersifat menyeluruh mengatur bagaimana kita membangun aplikasi. Framework memungkinkan kita membangun aplikasi dengan lebih cepat karena sebagai developer kita akan lebih memfokuskan pada pokok permasalahan sedangkan hal-hal penunjang lainnya seperti koneksi database, form validation, GUI, dan security; umumnya telah disediakan oleh framework.

3 Tier
Konsep pemrogramman three tier (3 tier) atau yang biasa disebut dengan konsep client server programming merupakan konsep pemrograman yang terdiri dari 3 komponen logic layer yang saling berkaitan . 

Layer pada 3 tier:  
1. Client Layer yaitu komponen yang berjalan diatas local komputer user / client. (tier 1) Pada layer ini , akses tidak bisa sampai pada RDBMS layer jika tidak ada koneksi ke aplikasi server (layer 2 / tier 2) .
2. Server Layer yaitu komponen yang berjalan pada remote server yang berfungsi sebagai koneksi antara klien dengan database system. (Tier 2). Pada layer ini , merupakan layer yang menghubungkan antara layer client (tier 1) dengan layer RDBMS Application (tier 3). layer ini berisi package, objek, method, fungsi dan segala aktifitas query yang akan dijalankan pada layer 3 / tier 3 (RDBMS Application).
3. RDBMS Layer yaitu kumpulan database , data resource manager dan aplikasi mainframe (Tier 3). Pada layer ini, berisi kumpulan database dan data resource manager yang merupakan pusat database suatu sistem. Layer 3 / tier 3 atau aplikasi RDBMS , tidak bisa diakses secara langsung melalui layer 1 / tier 1 atau aplikasi klien. jika aplikasi klien tidak terkoneksi ke layer 2 / tier 2 atau aplikasi server .

Kelebihan arsitektur 3 Tier : 
- Segala sesuatu mengenai database terinstalasikan pada sisi server, begitu pula dengan pengkonfigurasiannya. Hal ini membuat harga yang harus dibayar lebih kecil. Apabila terjadi kesalahan pada salah satu lapisan tidak akan menyebabkan lapisan lain ikut salah. Perubahan pada salah satu lapisan tidak perlu menginstalasi ulang pada lapisan yang lainnya dalam hal ini sisi server ataupun sisi client.
- Keamanan dibelakang firewall.Transfer informasi antara web server dan server database optimal. Komunikasi antara system-sistem tidak harus didasarkan pada standart internet, tetapi dapat menggunakan protocol komunikasi yang lebvih cepat dan berada pada tingkat yang lebih rendah. Penggunaan middleware mendukung efisiensi query database dalam SQL di pakai untuk menangani pengambilan informasi dari database. 

Beberapa Keuntungan Arsitektur 3-Tier : 
- Keluwesan teknologi. 
- Mudah untuk mengubah DBMS engine. 
- Kemungkinkan pula middle tier ke platform yang berbeda 
- Biaya jangka panjang yang rendah. 
- Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi keseluruhan. 
- Keunggulan kompetitif. 
- Kemampuan untuk bereaksi terhadap perubahan bisnis dengan cepat, dengan cara mengubah modul kode daripada mengubah keseluruhan aplikasi 

Kekurangan arsitekture 3 Tier : 
- Lebih susah untuk merancang 
- Lebih susah untuk mengatur 
- Lebih mahal 

Beberapa software aplikasi yang biasa menggunakan konsep 3 tier yaitu : sybase, webspherre, java , dll.
Secara visual, penggambaran arsitektur 3 tier adalah sebagai berikut : 
N-Tier
N-Tier merupakan arsitektur client server dimana presentasi, pemrosesan aplikasi, dan data fungsi manajemen secara logis dipisahkan. Huruf n pada n-tier menunjukan variabel yang dapat berisi angka sebanyak apapun.

Komponen yang ada pada N-Tier:
  1. Presentasi layer: dapat disebut user interface, berfungsi sebagai penertemahkan tugas dan hasil yang telah dikerjakan layer sebelumnya.
  2. Bisnis logic layer : koordinat dari aplikasi, memproses perintah, membuat keputusan logic dan evaluasi serta menghitung performa.
  3. Data Layer : untuk menyimpan informasi dan mengolah file system.

Keuntungan N-Tier:
  1. Kemudahan perubahan bisnis logic pada masa depan
  2. Bisnis logic yang mudah diimplementasikan
  3. Aplikasi client dapat mengakses berbagai tipe DBMS yang berbeda beda secara transparan.

Kerugian N-Tier:
  1. Sistem N tier termasuk mahal untuk development dan instalasinya
  2. memerlukan adaptasi yang semakin luas ruang lingkupnya
  3.  memerlukan rentang waktu relatif lama
  4. penggunaan memori komputer yang besar.

MVC 
Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi web dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.
Bagian dari MVC :
  1. Model, Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain.
  2. View adalah bagian yang mengatur tampilan ke pengguna. Bisa di katakan berupa halaman web web.
  3. Controller, Controller merupakan bagian yang menjembatani model dan view. Controller berisi skrip-skrip php yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.
Dengan menggunakan metode MVC maka aplikasi akan lebih mudah untuk dirawat dan dikembangkan. Untuk memahami metode pengembangan aplikasi menggunakan MVC diperlukan pengetahuan tentang pemrogram berorientasi objek (Object Oriented Programming).
 
cara-kerja-mvc 
 
Jenis MVC:
  1. Server slide MVC : terjadi pada aplikasi web tradisional yang tidak melibatkan client side
  2. Mixed client side dan server side MVC
  3. Rich internet application MVC

Kelebihan dengan adanya Model adalah :
a. Proses maintenance aplikasi
Penempatan detail data dan operasinya pada area yang ditentukan (Model) sehingga tidak tersebar pada keseluruhan lingkup aplikasi.
b. Reusable Model
Penggunaan kembali aplikasi model oleh aplikasi lain yang disebabkan adanya pemisahan data dengan interface.
 
Kelebihan dari View adalah :
a. Memudahkan penggabungan divisi desain dalam development team.
b. Ketersediaan multiple interface dalam aplikasi.
 
Kelebihan dari Controller adalah :
a. Komponen view dapat didesain tanpa harus memperhatikan bagian lain secara berlebih
b. Pemisahan jelas antara presentation logic dan business logic


Kelemahan MVC :
adanya peningkatan kompleksifitas sehingga pada aplikasi kecil yang tidak membutuhkan loose coupling pada Model yang menjadi blok penghalang dalam pola MVC ini sendiri.


Referensi:
http://criztian-blacklizt.blogspot.com/2011/12/about-mvc.html
https://chachataki.wordpress.com/2011/05/05/arsitektur-mvc/
http://nikenkinanti212.blogspot.com/2014/09/pengertian-3-tier-dan-n-tier-serta.html
https://lizana89.wordpress.com/2010/10/30/perbedaan-pattern-dan-framework-pengertian-mvc-dan-struts-arsitektur-codeigniter-integrasi-sistem-dan-arsitektur-soa/

Minggu, 03 Mei 2015

Servlet

Pemograman Web 1

Servlet adalah teknologi Java untuk aplikasi web. Teknologi servlet merupakan salah satu teknologi penting dari J2EE karena juga menjadi landasan dari teknologi JSP(Java Server Pages). Teknologi Java dapat dikatakan mendominasi teknologi enterprise atau server side karena teknologi ini terbukti tangguh dan stabil dalam aplikasi enterprise (J2EE).

Servlet merupakan class yang didefinisikan dalam java dan digunakan untuk meningkatkan kemampuan web server dalam menangani request dan response client. Servlet dapat menerima request dan menghasilkan response melalui protokol komunikasi yang berbeda, tetapi sebagian besar tipe yang digunakan adalah HTTP Servlet, yang diimplementasikan dengan class java javax.servlet.httpServlet.

Penggunaan Servlet biasanya digunakan untuk menangani request dari browser menghasilkan response berupa halaman HTML, XML, file, dsb sesuai request.


Kebutuhan untuk menjalankan sebuah servlet adalah:
• Web Server yang mendukung servlet API

• Client yang meminta layanan yang disediakan oleh servlet



Servlet saat ini hidup berdampingan dengan teknologi web lain seperti: 

  • PHP: Cepat, mudah tetapi tidak ideal untuk aplikasi berskala besar 
  • Coldfusion: Mudah tetapi mahal karena hanya dapat dijalankan di ColdFusion Server dari Macromedia 
  • ASP:  Mudah tetapi kurang ideal untuk aplikasi skala besar serta tidak portabel (berjalan maksimal hanya di IIS) 
  • ASP.NET:  Handal dan Canggih tetapi hanya jalan di platform Microsoft 
  • Perl/CGI: Sudah jarang digunakan karena kurang cepat dan kurang tangguh, tetapi masih bagus dan sesuai dalam aplikasi tertentu seperti search engine
 

Kelebihan Servlet:

  • Efisien dan baik dalam Performance. Performance Servlet baik karena tidak ada proses pembuatan berulang untuk tiap request dari client. Jadi tiap request ditangani oleh proses servlet container di mana servlet tidak dibuat dan dihancurkan berulang-ulang tetapi tetap tersimpan pada memori untuk menangani request lain yang datang selanjutnya.
  • Powerful. Servlet memiliki kemampuan yang lengkap, antara lain penanganan request ke request, penanganan cookie dan session, akses database dengan JDBC, caching serta library yang lengkap untuk pembuatan aplikasi web.
  • Aman. Servlet memiliki fasilitas security yang baik dan merupakan bagian dari teknologi Java yang sudah dari asalnya didesain dengan security yang baik.
  • Portabilitas. Teknologi Java Servlet portabel karena dapat dijalankan di berbagai servlet container, application server, maupun sistem operasi.
  • Proses development yang lebih cepat. Dengan menggunakan Servlet kita dapat menggunakan library java yang lengkap maupun menggunakan komponen atau bean yang sudah ada.
  • Robustness. Tangguh karena servlet merupakan teknologi java yang memiliki penanganan memori yang baik serta garbage collection sehingga aplikasi web menjadi aplikasi yang tangguh dan stabil.
  • Telah digunakan dan diakui di dunia. Servlet merupakan teknologi Java yang telah diterima dan digunakan di berbagai belahan dunia. Maka kita dapat menemukan berbagai komponen, solusi, dukungan yang ditawarkan.
  • Murah. Murah karena Java gratis untuk didownload, Servlet container juga banyak yang gratis.

Proses Kerja Servlet

Servlet diload ke JVM oleh Servlet Container apabila terjadi request pertama kali oleh client. Proses penanganan request dijalankan sebagai thread dari web server atau servlet container. Setelah diload maka servlet tetap ada di memori untuk menangani request berikutnya. Tiap kali menangani request, servlet container membandingkan timestamp dari servlet dalam memori dengan file class java servlet. Apabila timestamp file java servlet lebih baru maka secara otomatis servlet container akan meload servlet yang baru dari class servlet.



Referensi:
http://kirmanan.blogspot.com/2007/12/teknologi-java-servlet.html
http://meldhycom.blogspot.com/2013/10/j2ee-servlet-dan-jsp.html