Anda di halaman 1dari 0

www.gangsir.

com Rosa Ariani Sukamto




Aturan Praktikum:
- Keterlambatan maksimal 10 menit
- Hasil praktikum, selesai atau tidak selesai ditanggung mahasiswa
- Nilai praktikum adalah nilai perorangan, sebagai tambahan nilai test atau quiz jika
nilai test atau quiz kurang mencukupi
- Mahasiswa login ke komputer
- Persiapan dan penjelasan praktikum 10 menit
- Praktikum dilakukan selama 70 menit terdiri dari praktikum sesuai modul
- Hasil praktikum di-zip dan dikumpulkan
- Sisa waktu 20 menit digunakan untuk tes kecil hasil praktikum, saat tes tampilan
komputer adalah background desktop dan mahasiswa tidak diperkenankan
menggunakan komputer dan melihat modul praktikum
- Mahasiswa logout dari komputer
- Praktikum selesai


SERVLET (BEGINNER)
(Minggu 2 Praktikum I)

A. Sekilas J2EE

J 2EE adalah kumpulan teknologi yang cukup kuat dan berada di atas lingkungan J 2SE.
J 2EE berbasis pada J ava2 yang berusaha untuk menyediakan sebuah lingkungan aplikasi
yang bersifat reliable dan stabil serta dapat dijalankan pada beberapa lingkungan sistem
operasi. Teknologi enterprise sebagai perkembangan dari lingkungan J ava2 difokuskan
pada pemenuhan antarmuka yang standar dimana aplikasi J 2EE dapat menghasilkan
sebuah aplikasi berbasis server yang tangguh (robust) dan tidak bergantung pada
lingkungan sistem operasi yang digunakan.





J 2EE server menyediakan dua buah kontainer besar yaitu kontainer EJ B dan kontainer
web dimana kontainer EJ B digunakan untuk mengelola dan mengeksekusi Enterprise
bean yang juga disebut dengan bean dan kontainer web digunakan untuk mengelola dan
mengeksekusi servlet serta JavaServer Pages atau yang disebut juga dengan J SP.
Enterprise bean terdiri dari tiga jenis bean yang diantaranya adalah :
www.gangsir.com Rosa Ariani Sukamto

Session Bean
Entity Bean
Message Driven Bean
Package pada J 2EE dapat berupa Enterprise Archive (EAR), J ava Archive (J AR) yang
merupakan kumpulan file dalam sebuah paket, dan Web Archive (WAR) dimana EAR
biasanya merupakan gabungan dari file-file J AR yang biasa digunakan oleh bean,
sedangkan WAR biasa digunakan oleh servlet dan J SP.
J 2EE memiliki beberapa tipe modul yang diantaranya adalah sebagai berikut :
EJ B, terdiri dari file-file class dari enterprise bean dan deskriptor dari EJ B
deployment. EJ B biasanya menggunakan package berupa J AR dengan ekstensi
file .jar.
Web, seperti servlet dan J SP. Terdiri dari file-file class servlet atau file-file class
yang dibutuhkan J SP, file gambar, file HTML, dan deskriptor dari web
deployment. Package yang digunakan biasanya adalah WAR dengan ekstensi file
.war.
Aplikasi Klien, terdiri dari file class klien dan deskriptor klien. Package yang
biasanya digunakan adalah J AR dengan ekstensi file .jar.

B. Sekilas Servlet

Servlet adalah program J ava yang berjalan pada webserver dengan pengaksesan model
request-response. Daur hidup servlet dikelola oleh kontainer web. Servlet merupakan
pondasi pengembangan aplikasi web dengan menggunakan bahasa pemrograman J ava.
Karena servlet merupakan bagian dari J 2EE (Java 2 Enterprise Edition) maka servlet
dapat menggunakan semua pustaka (library) standar J ava.

Kelas HttpServlet merupakan kelas turunan dari javax.servlet.Servlet yang melewatkan
request dan respon melalui protokol HTTP. HttpServlet memiliki metode tambahan yaitu
doGet() dan doPost() yang merupakan metode pengiriman request melalui protokol
HTTP. Servlet adalah server side scripting dimana web server mengidentifikasi dan
menjalankan skrip program yang disisipkan dalam dokumen web sehingga yang dikirim
ke klien hanya berupa kode HTML-nya saja.

C. Alur hidup Servlet

Servlet dibangunkan pertama kali oleh kontainer web ketika ada request ke servlet
kemudian servlet memproses request dan memberikannya ke web servlet dan kontainer
web mengembalikannya ke user.


www.gangsir.com Rosa Ariani Sukamto

Alur hidup servlet diawali dengan metode init() yang dipanggil oleh kontainer setelah
servlet diinisialisasi, kemudian kontainer web memanggil metode service() setelah servlet
diinisialisasi, pada tahap ini servlet diijinkan mengakses request yang harus diproses oleh
servlet dan menghasilkan respon. Kontainer web akan memanggil metode destroy()
ketika kontainer web dimatikan atau servlet butuh membebaskan memori.

D. Implementasi J2EE

Sebelum melakukan instalasi terhadap semua perangkat lunak implementasi J 2EE,
tool J 2SE harus telah diinstal pada komputer, variabel global J AVA_HOME harus
telah diset, dan komputer telah di-restart setelah J AVA_HOME diset.

a. JBoss

Salah satu implementasi dari J 2EE adalah J Boss. J Boss besifat open source dan
dapat di-download pada http://www.jboss.org. J Boss gratis untuk pengembangan
dan deployment dan merupakan server aplikasi yang handal dan telah banyak
digunakan. Sebelum menjalankan J Boss, pada komputer yang harus sudah terdapat
Java Virtual Machine, jika belum maka komputer tersebut harus diinstal apa yang
disebut dengat tool J 2SE seperti jdk. Baru setelah itu kopikan folder J Boss pada
drive C. Untuk menjalankan J Boss, cukup dengan menjalankan C:\<folder
J Boss>\bin\run.bat dan untuk menghentikannya tekan ctrl+C. Saat J Boss telah
berhasil dijalankan maka akan muncul jendela seperti pada gambar di bawah ini.
Dan jika J Boss telah start dengan benar maka akan muncul pesan Started in.




Komponen J 2EE yang akan di-deploy dengan menggunakan J Boss harus memiliki
pemetaan komponen J 2EE tersebut untuk dikaitkan dengan J Boss. Biasanya
pemetaan ini dimasukkan dalam file jboss-web.xml yang dalam pemaketannya pada
servlet atau J SP masuk ke dalam direktori WEB-INF. Servlet atau J SP di deploy
pada direktori C:\J Boss\.server\default\deploy\ dengan menyalin file .war ke
direktori itu.

b. Server J2EE Sun

www.gangsir.com Rosa Ariani Sukamto

Server J 2EE Sun atau nama resminya Sun J ava System Application Server Platform
merupakan implementasi dari J 2EE. Tools yang ada pada Server J 2EE Sun bukan
merupakan bagian dari implementasi J 2EE, tujuannya lebih pada memberikan
kenyamanan pada programmer.

Untuk melakukan instalasi Server J 2EE Sun cukup dengan menjalankan file
installer-nya yang bisa di-download di http://java.sun.com/j2ee/. Server J 2EE Sun
dijalankan (start) dengan menjalankan Start->All Programs->Sun Microsystems-
>Application Server PE->Start Default Server. Untuk menghentikan Server J 2EE
Sun, jalankan Start->All Programs->Sun Microsystems->Application Server PE-
>Stop Default Server.\

Server Sun memiliki deploy tool untuk melakukan package terhadap modul servlet
maupun J SP menjadi file .war dan men-deploy aplikasi ke server. Untuk
menjalankannya setelah diinstal klik Start->All Program->Sun Microsystems-
>Application Server PE->Deploytool maka akan muncul jendela pada gambar
berikut.



Pada prinsipnya, men-deploy aplikasi pada server Sun hanya mengacu path dari file .war,
maka jika sebuah file .war di deploy pada server Sun dan dihapus, maka file tersebut
tidak dapat diakses lagi.


c. Apache Tomcat

Apache Tomcat merupakan implementasi dari teknologi Servlet dan J SP sehingga hanya
dapat digunakan untuk men-deploy servlet dan J SP. Apache Tomcat merupakan proyek
www.gangsir.com Rosa Ariani Sukamto

open source yang dapat di-download di http://jakarta.apache.org/tomcat. Instalasi Apache
Tomcat dapat dilakukan dengan mengesekusi installer Apache Tomcat. Apache Tomcat
dapat dijalankan dengan menjalankan Start->All Programs->Apache Tomcat->Monitor
Tomcat hingga muncul jendela seperti pada gambar di bawah ini lalu klik tombol Start,
begitu pula jika ingin menghentikan, klik tombol Stop.



Monitor Tomcat biasanya telah dijalankan secara otomatis dan untuk menampilkan
jendela seperti pada gambar di atas bisa dengan mengeklik icon pada bagian kanan
taskbar seperti pada gambar berikut:




Pada Tomcat file .war dapat disalin ke folder <INSTAL_TOMCAT>\webapps\ dan me-
restart Tomcat.


E. Praktikum
a. Persiapan
Membuat direktori kerja dengan nama SI319-P2-1-Kelas-NIM misalnya
SI319-P2-1-A-23507024
Di dalam direktori di atas, buat direktori Servlet untuk menyimpan file-file
yang akan dibuat.

b. Membuat HelloServlet

Susunan file yang harus dibuat di dalam direktori Servlet adalah sebagai berikut:
Direktori common
o File build.properties
www.gangsir.com Rosa Ariani Sukamto

o File targets.xml
Direktori commonweb
o File build.properties
File berisi daftar properti yang akan digunakan build.xml
o File targets.xml
Direktori HelloServlet
o Direktori src
Berisi file-file source code
o Direktori web
Berisi file-file html, gambar, dll
o File build.xml
File konfigurasi yang akan digunakan untuk menetukan setting
servlet
o File sun-web.xml
o File web.xml

File-file pada direktori common dan commonweb digunakan untuk melakukan kompilasi
terhadap source code java.

Nama file: build.properties (pada direktori common)

j 2ee. home=C: / Sun/ AppSer ver
j 2ee. t ut or i al . home=" C: / Ser vl et "
sunone. home=${j 2ee. home}
admi n. passwor d. f i l e=${j 2ee. t ut or i al . home}/ common/ admi n- passwor d. t xt
admi n. host =l ocal host
admi n. user =admi n
admi n. por t =4848
ht t ps. por t =8181
domai n. r esour ces=" domai n. r esour ces"
domai n. r esour ces. por t =8080
db. r oot =${j 2ee. home}/ poi nt base
db. dr i ver =com. poi nt base. j dbc. j dbcUni ver sal Dr i ver
db. host =l ocal host
db. por t =9092
db. si d=sun- appser v- sampl es
db. ur l =j dbc: poi nt base: ser ver : / / ${db. host }: ${db. por t }/ ${db. si d}
db. user =pbpubl i c
db. pwd=pbpubl i c
ur l . pr op=Dat abaseName
ds. cl ass=com. poi nt base. j dbc. j dbcDat aSour ce
db. j vmar gs=- ms16m- mx32m

Yang harus diganti dari file di atas jika berbeda path adalah sebagai berikut:

j 2ee. home=C: / Sun/ AppSer ver [ pat h di mana sun appl i cat i on ser ver
di i nst al ]
j 2ee. t ut or i al . home=" C: / Ser vl et " [ pat h di r ekt or i ser vl et ]



www.gangsir.com Rosa Ariani Sukamto


Nama file: targets.xml (pada direktori common)

<pat h i d=" cl asspat h" >
<f i l eset di r =" ${j 2ee. home}/ l i b" >
<i ncl ude name=" j 2ee. j ar " / >
</ f i l eset >
</ pat h>

<t ar get name=" cl ean" >
<del et e di r =" ${bui l d}" / >
<del et e di r =" ${di st }" / >
<del et e di r =" ${assembl e}" / >
</ t ar get >

<pat h i d=" db. cl asspat h" >
<f i l eset di r =" ${db. r oot }/ l i b" >
<i ncl ude name=" *. j ar " / >
</ f i l eset >
</ pat h>

<t ar get name=" cr eat e- db_common" depends=" i ni t "
descr i pt i on=" Cr eat e dat abase t abl es and popul at e dat abase. " >
<j ava cl assname=" com. poi nt base. t ool s. t ool sCommander " f or k=" yes" >
<j vmar g l i ne=" ${db. j vmar gs}" / >
<ar g l i ne=" ${db. dr i ver } ${db. ur l } ${sql . scr i pt } ${db. user }
${db. pwd}" / >
<cl asspat h r ef i d=" db. cl asspat h" / >
</ j ava>
</ t ar get >

<t ar get name=" admi n_command_common" >
<echo message=" Doi ng admi n t ask ${admi n. command}" / >
<sun- appser v- admi n
command=" ${admi n. command}"
user =" ${admi n. user }"
passwor df i l e=" ${admi n. passwor d. f i l e}"
host =" ${admi n. host }"
por t =" ${admi n. por t }"
asi nst al l di r =" ${j 2ee. home}" / >
</ t ar get >

<t ar get name=" cr eat e- j dbc- r esour ce_common" >
<ant cal l t ar get =" admi n_command_common" >
<par amname=" admi n. command"
val ue=" cr eat e- j dbc- r esour ce
- - connect i onpool i d ${conpool . name} ${j dbc. r esour ce. name}" / >
</ ant cal l >
</ t ar get >

<t ar get name=" del et e- j dbc- r esour ce_common" >
<ant cal l t ar get =" admi n_command_common" >
<par amname=" admi n. command"
val ue=" del et e- j dbc- r esour ce ${j dbc. r esour ce. name}" / >
</ ant cal l >
</ t ar get >
www.gangsir.com Rosa Ariani Sukamto


<t ar get name=" depl oy- war " >
<ant cal l t ar get =" admi n_command_common" >
<par amname=" admi n. command"
val ue=" depl oy ${war . f i l e}" / >
</ ant cal l >
</ t ar get >

<t ar get name=" undepl oy- war " >
<ant cal l t ar get =" admi n_command_common" >
<par amname=" admi n. command"
val ue=" undepl oy ${exampl e}" / >
</ ant cal l >
</ t ar get >

<pr oper t y envi r onment =" env" / >

<t ar get name=" l i st pr ops"
descr i pt i on=" Di spl ays val ues of some of t he pr oper t i es of t hi s
bui l d f i l e" >
<pr oper t y f i l e=" . . / . . / common/ admi n- passwor d. t xt " / >

<echo message=" Pat h i nf or mat i on" / >
<echo message=" j 2ee. home = ${j 2ee. home}" / >
<echo message=" j 2ee. t ut or i al . home = ${j 2ee. t ut or i al . home}" / >
<echo message=" j 2ee. home = ${j 2ee. home}" / >
<echo message=" env. Pat h = ${env. Pat h}" / >
<echo message=" env. PATH = ${env. PATH}" / >
<echo message=" " / >
<echo message=" Cl asspat h i nf or mat i on" / >
<echo message=" cl asspat h = ${env. CLASSPATH}" / >
<echo message=" " / >
<echo message=" Admi n i nf or mat i on" / >
<echo message=" admi n. passwor d = ${AS_ADMI N_PASSWORD}" / >
<echo message=" admi n. passwor d. f i l e = ${admi n. passwor d. f i l e}" / >
<echo message=" admi n. host = ${admi n. host }" / >
<echo message=" admi n. user = ${admi n. user }" / >
<echo message=" admi n. por t = ${admi n. por t }" / >
<echo message=" ht t ps. por t = ${ht t ps. por t }" / >
<echo message=" " / >
<echo message=" Domai n i nf or mat i on" / >
<echo message=" domai n. r esour ces = ${domai n. r esour ces}" / >
<echo message=" domai n. r esour ces. por t = ${domai n. r esour ces. por t }"
/ >
<echo message=" " / >
<echo message=" Dat abase i nf or mat i on" / >
<echo message=" db. r oot = ${db. r oot }" / >
<echo message=" db. dr i ver = ${db. dr i ver }" / >
<echo message=" db. host = ${db. host }" / >
<echo message=" db. por t = ${db. por t }" / >
<echo message=" db. si d = ${db. si d}" / >
<echo message=" db. ur l = ${db. ur l }" / >
<echo message=" db. user = ${db. user }" / >
<echo message=" db. pwd = ${db. pwd}" / >
<echo message=" ur l . pr op = ${ur l . pr op}" / >
<echo message=" ds. cl ass = ${ds. cl ass}" / >
<echo message=" db. j vmar gs = ${db. j vmar gs}" / >
www.gangsir.com Rosa Ariani Sukamto

</ t ar get >


Nama file: build.properties (pada direktori commonweb)

#war
bui l d=bui l d
sql . scr i pt =books. sql
war . f i l e=${exampl e}. war
assembl e=assembl e
assembl e. war =${assembl e}/ war

Nama file: targets.xml (pada direktori commonweb)

<t ar get name=" pr epar e" depends=" i ni t "
descr i pt i on=" Cr eat e bui l d di r ect or i es. " >
<mkdi r di r =" ${bui l d}" / >
</ t ar get >


<t ar get name=" copy" depends=" pr epar e"
descr i pt i on=" Copy HTML and J SP pages" >
<copy t odi r =" ${bui l d}" >
<f i l eset di r =" web" >
<i ncl ude name=" **/ *. ht ml " / >
<i ncl ude name=" **/ *. j sp" / >
<i ncl ude name=" **/ *. j spf " / >
<i ncl ude name=" **/ *. j spx" / >
<i ncl ude name=" **/ *. gi f " / >
<i ncl ude name=" **/ *. xml " / >
<i ncl ude name=" **/ *. t l d" / >
<i ncl ude name=" **/ *. t ag" / >
<i ncl ude name=" **/ *. j pg" / >
<i ncl ude name=" **/ *. css" / >
</ f i l eset >
</ copy>
</ t ar get >

<t ar get name=" cr eat e- war " depends=" bui l d"
descr i pt i on=" Packages t he WAR f i l e" >
<echo message=" Cr eat i ng t he WAR. . . . " / >
<del et e f i l e=" ${assembl e. war }/ ${war . f i l e}" / >
<del et e di r =" ${assembl e. war }/ WEB- I NF" / >
<copy t odi r =" ${assembl e. war }/ WEB- I NF" >
<f i l eset di r =" . " >
<i ncl ude name=" *. xml " / >
<excl ude name=" bui l d. xml " / >
<excl ude name=" web. xml " / >
</ f i l eset >
</ copy>
<copy t odi r =" ${assembl e. war }/ WEB- I NF/ cl asses/ " >
<f i l eset di r =" ${bui l d}" >
<i ncl ude name=" **/ *. cl ass" / >
</ f i l eset >
</ copy>
www.gangsir.com Rosa Ariani Sukamto

<copy t odi r =" ${assembl e. war }/ WEB- I NF/ t ags" >
<f i l eset di r =" ${bui l d}" >
<i ncl ude name=" *. t ag" / >
</ f i l eset >
</ copy>
<copy t odi r =" ${assembl e. war }/ WEB- I NF" >
<f i l eset di r =" ${bui l d}" >
<i ncl ude name=" *. t l d" / >
</ f i l eset >
</ copy>
<copy t odi r =" ${assembl e. war }" >
<f i l eset di r =" ${bui l d}" >
<i ncl ude name=" *. j sp" / >
<i ncl ude name=" *. gi f " / >
</ f i l eset >
</ copy>
<war dest f i l e=" ${assembl e. war }/ ${war . f i l e}"
webxml =" . / web. xml " f i l esonl y=" t r ue" >
<f i l eset di r =" ${assembl e. war }" i ncl udes=" WEB- I NF/ **, *. j sp,
*. gi f " / >
</ war >
<copy f i l e=" ${assembl e. war }/ ${war . f i l e}" t odi r =" . " / >
</ t ar get >

<t ar get name=" copy- cl ock" depends=" bui l d" i f =" cl ock. exi st s"
descr i pt i on=" Copi es cl ock cl ass f or bookst or e2" >
<copy f i l e=" ${bui l d}/ cl ock/ Di gi t al Cl ock. cl ass"
t odi r =" ${assembl e. war }/ cl ock/ " / >
</ t ar get >

<t ar get name=" l i st pr ops- web" depends=" i ni t , l i st pr ops"
descr i pt i on=" Li st pr oper t y val ues" >
<echo message=" sql . scr i pt = ${sql . scr i pt }" / >
<echo message=" conpool . name = ${conpool . name}" / >
<echo message=" j dbc. r esour ce. name = ${j dbc. r esour ce. name}" / >
</ t ar get >

Nama file: build.xml (dalam direktori HelloServlet)

<! DOCTYPE pr oj ect [
<! ENTI TY t ar get s SYSTEM " . . / common/ t ar get s. xml " >
<! ENTI TY webt ar get s SYSTEM " . . / commonweb/ t ar get s. xml " >
] >

<pr oj ect name=" hel l o" def aul t =" bui l d" basedi r =" . " >
<t ar get name=" i ni t " >
<t st amp/ >
</ t ar get >

<! - - Conf i gur e t he cont ext pat h f or t hi s appl i cat i on - - >
<pr oper t y name=" exampl e" val ue=" hel l o" / >

<! - - Conf i gur e pr oper t i es - - >
<pr oper t y f i l e=" . . / common/ bui l d. pr oper t i es" / >
<pr oper t y f i l e=" . . / commonweb/ bui l d. pr oper t i es" / >

www.gangsir.com Rosa Ariani Sukamto

&t ar get s;
&webt ar get s;

<t ar get name=" bui l d" depends=" copy"
descr i pt i on=" Compi l e app J ava f i l es" >
<j avac sr cdi r =" sr c" dest di r =" ${bui l d}" >
<i ncl ude name=" **/ *. j ava" / >
<cl asspat h r ef i d=" cl asspat h" / >
</ j avac>
</ t ar get >

</ pr oj ect >

Nama file: web.xml (dalam direktori HelloServlet)

<?xml ver si on=" 1. 0" encodi ng=" UTF- 8" ?>
<web- app xml ns=" ht t p: / / j ava. sun. com/ xml / ns/ j 2ee" ver si on=" 2. 4"
xml ns: xsi =" ht t p: / / www. w3. or g/ 2001/ XMLSchema- i nst ance"
xsi : schemaLocat i on=" ht t p: / / j ava. sun. com/ xml / ns/ j 2ee
ht t p: / / j ava. sun. com/ xml / ns/ j 2ee/ web- app_2_4. xsd" >
<di spl ay- name>Hel l o</ di spl ay- name>
</ web- app>

Nama file: sun-web.xml (dalam direktori HelloServlet)

<?xml ver si on=" 1. 0" encodi ng=" UTF- 8" ?>
<! DOCTYPE sun- web- app PUBLI C " - / / Sun Mi cr osyst ems, I nc. / / DTD
Appl i cat i on Ser ver 8. 0 Ser vl et 2. 4/ / EN"
" ht t p: / / www. sun. com/ sof t war e/ appser ver / dt ds/ sun- web- app_2_4- 0. dt d" >

<sun- web- app>
<cont ext - r oot >/ Hel l o</ cont ext - r oot >
</ sun- web- app>

Nama file: HelloServlet.java (dalam direktori HelloServlet/src/)

i mpor t j avax. ser vl et . *;
i mpor t j avax. ser vl et . ht t p. *;
i mpor t j avax. nami ng. *;
i mpor t j ava. i o. *;
i mpor t j ava. r mi . Remot eExcept i on;
i mpor t j ava. ut i l . l oggi ng. *;
i mpor t j avax. r mi . Por t abl eRemot eObj ect ;


publ i c cl ass Hel l oSer vl et ext ends Ht t pSer vl et {

pr i vat e voi d wr i t ePage( Ht t pSer vl et Request r equest ,
Pr i nt Wr i t er out ) {
out . pr i nt l n( " <ht ml >"
+ " <head><t i t l e>Hel l o</ t i t l e></ head>" ) ;
out . pr i nt l n( " <body>" ) ;
out . pr i nt l n( " <h3>Hel l o Wor l d! </ h3>" ) ;
out . pr i nt l n( " <br ><hr ><br >" ) ;
www.gangsir.com Rosa Ariani Sukamto

out . pr i nt l n( " </ body></ ht ml >" ) ;
}

publ i c voi d doGet ( Ht t pSer vl et Request r equest ,
Ht t pSer vl et Response r esponse)
t hr ows Ser vl et Except i on, I OExcept i on {
r esponse. set Cont ent Type( " t ext / ht ml " ) ;
r esponse. set Buf f er Si ze( 8192) ;

Pr i nt Wr i t er out = r esponse. get Wr i t er ( ) ;
wr i t ePage( r equest , out ) ;
out . cl ose( ) ;
}

publ i c voi d doPost ( Ht t pSer vl et Request r equest ,
Ht t pSer vl et Response r esponse)
t hr ows Ser vl et Except i on, I OExcept i on {
r esponse. set Cont ent Type( " t ext / ht ml " ) ;
r esponse. set Buf f er Si ze( 8192) ;

Pr i nt Wr i t er out = r esponse. get Wr i t er ( ) ;
wr i t ePage( r equest , out ) ;
out . cl ose( ) ;
}

publ i c St r i ng get Ser vl et I nf o( ) {
r et ur n " Hel l o ser vl et mengat akan hel l o wor l d. " ;
}

}

Method yang harus ada pada servlet walaupun tidak berisi apapun adalah:
doGet(HttpServletRequest request, HttpServletResponse response)
Method yang dijalankan untuk variabel get
doPost(HttpServletRequest request, HttpServletResponse response)
Method yang dijalankan untuk variabel post

c. Menjalankan Servlet

1. Buka Start->All Programs->Sun Microsystems->Application Server PE->Start
Default Server sampai keluar command prompt

www.gangsir.com Rosa Ariani Sukamto



Tekan enter.

2. Buka jendela command prompt, masuk ke direktori Servlet
3. ketik perintah $>asant build. Perintah asant build digunakan untuk
mengkompilasi source code, jika source code telah lulus kompilasi maka akan
muncul pesan sebagai berikut:

Buildfile: build.xml

init:

prepare:

copy:

build:

BUILD SUCCESSFUL
Total time: 2 seconds

4. Buka Deploytool dari Sun untuk melakukan packaging menjadi file WAR. Klik
Start->All Program->Sun Microsystems->Application Server PE->Deploytool.
5. Klik File->New->Web Component... . Hingga muncul jendela seperti pada
gambar berikut.

www.gangsir.com Rosa Ariani Sukamto



6. Klik Next. Hingga muncul jendela seperti pada gambar berikut.



Pilih Create New Stand-Alone WAR Module, isi field WAR file dengan mengeklik
browse untuk mencari direktori HelloServlet, dan isi file name dengan HelloServlet
seperti pada gambar berikut dan klik create module file.




www.gangsir.com Rosa Ariani Sukamto

Klik edit contents (gambar sebelumnya) hingga muncul jendela seperti gambar berikut.
Tambahkan direktori contoh pada available file dengan mengeklik direktori build,
kemudian klik file HelloServlet.class dan klik tombol add kemudian klik ok. Kemudian
klik next.




7. Pada jendela seperti gambar berikut, pilih servlet. Klik next.




8. Kemudian akan muncul jendela seperti gambar berikut. Isi field yang ada dengan
mengeklik tanda panah dan pilih pilihan yang ada, maka beberapa field akan
terisi. Klik next.

www.gangsir.com Rosa Ariani Sukamto




9. Setelah muncul jendela seperti pada gambar berikut, klik Finish.




10. Setelah kembali ke jendela awal, pilih tab Aliases, klik Add dan isi field Aliases
dengan / lalu tekan enter.

www.gangsir.com Rosa Ariani Sukamto




11. Setelah kembali ke jendela awal, klik tombol save yang bergambar disket, maka
file WAR akan terbentuk di dalam direktori HelloServlet.

12. Pilih Tools->Deploy seperti pada gambar berikut:




www.gangsir.com Rosa Ariani Sukamto

13. Hingga muncul jendela berikut, lalu klik ok



14. Hingga muncul jendela berikut, klik close:



ketikkan http://localhost:8080/HelloServlet/

jika tampilan bukan Hello World! maka cek port mungkin salah dengan membuka file
C:/Sun/AppServer/domains/domain1/config/domain.xml

cek pada bagian file

<ht t p- ser vi ce>
<ht t p- l i st ener accept or - t hr eads=" 5" addr ess=" 0. 0. 0. 0" bl ocki ng-
enabl ed=" f al se" def aul t - vi r t ual - ser ver =" ser ver " enabl ed=" t r ue"
f ami l y=" i net " i d=" ht t p- l i st ener - 1" port="1309" secur i t y- enabl ed=" f al se"
ser ver - name=" " xpower ed- by=" t r ue" >
</ ht t p- l i st ener >
www.gangsir.com Rosa Ariani Sukamto


Untuk contoh bagian file di atas berarti port yang digunakan bukan 8080 tapi 1309

Anda mungkin juga menyukai