<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6463425833060133469</id><updated>2012-02-16T12:45:41.201-08:00</updated><title type='text'>jumriah</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jhum89.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jhum89.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>www.jhum.blogspot.com</name><uri>http://www.blogger.com/profile/02175087316962189668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_OnKTtELcVE8/SUiUXnN5cYI/AAAAAAAAAAM/fe0XDl8pT6U/S220/Jhum+Chut3(549).jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6463425833060133469.post-6554565867463792755</id><published>2009-02-23T21:07:00.000-08:00</published><updated>2009-02-23T21:09:59.534-08:00</updated><title type='text'>JSF (Java Server Faces)</title><content type='html'>&lt;span style="font-size: 78%;"&gt;&lt;span style="" lang="DE"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Pengenalan&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify; font-family: arial;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="" lang="DE"&gt;JSF adalah sebuah framework yang berfungsi untuk membangun suatu &lt;/span&gt;&lt;span style="" lang="DE"&gt;&lt;i&gt;user interface &lt;/i&gt;&lt;/span&gt;&lt;span style="" lang="DE"&gt;pada suatu aplikasi web. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="" lang="DE"&gt;JSF ini dibangun &lt;/span&gt;&lt;span style="" lang="DE"&gt;berdasarkan konsep-konsep yang diperkenalkan oleh framework Struts, dan &lt;/span&gt;&lt;span style=""&gt;memiliki keuntungan berupa sebuah arsitektur yang &lt;/span&gt;&lt;span style=""&gt;benar-benar memisahkan antara bagian &lt;/span&gt;&lt;span style=""&gt;&lt;i&gt;business logic &lt;/i&gt;&lt;/span&gt;&lt;span style=""&gt;dan bagian &lt;/span&gt;&lt;span style=""&gt;&lt;i&gt;standard komponen user interface&lt;/i&gt;&lt;/span&gt;&lt;span style=""&gt; yang dibentuk dengan cara &lt;/span&gt;&lt;span style=""&gt;yang hampir sama dengan widget Swing. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-style: italic;"&gt;Skema Kerja JSF&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MwVqF1uX3r0/SZjrJunHFzI/AAAAAAAAADY/2zxc0ALDq5k/s1600-h/untitled2.bmp"&gt;&lt;img style="cursor: pointer; width: 283px; height: 320px;" src="http://4.bp.blogspot.com/_MwVqF1uX3r0/SZjrJunHFzI/AAAAAAAAADY/2zxc0ALDq5k/s320/untitled2.bmp" alt="" id="BLOGGER_PHOTO_ID_5303247113592182578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6463425833060133469-6554565867463792755?l=jhum89.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhum89.blogspot.com/feeds/6554565867463792755/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://jhum89.blogspot.com/2009/02/jsf-java-server-faces.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/6554565867463792755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/6554565867463792755'/><link rel='alternate' type='text/html' href='http://jhum89.blogspot.com/2009/02/jsf-java-server-faces.html' title='JSF (Java Server Faces)'/><author><name>www.jhum.blogspot.com</name><uri>http://www.blogger.com/profile/02175087316962189668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_OnKTtELcVE8/SUiUXnN5cYI/AAAAAAAAAAM/fe0XDl8pT6U/S220/Jhum+Chut3(549).jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MwVqF1uX3r0/SZjrJunHFzI/AAAAAAAAADY/2zxc0ALDq5k/s72-c/untitled2.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6463425833060133469.post-8431565166866621571</id><published>2009-02-23T20:55:00.000-08:00</published><updated>2009-02-23T21:05:24.453-08:00</updated><title type='text'>MVC (Model View Controller)</title><content type='html'>&lt;span style="color: rgb(255, 255, 255);font-size:100%;" &gt;&lt;span style="font-family: arial;"&gt;Pola yang digunakan disini adalah Komponen Model, View, dan Controller. Sehingga sebuah proyek dibagi kedalam tiga komponen tersebut. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Adapun keuntungan model MVC adalah memisahkan aplikasi &lt;/span&gt;&lt;span style="font-style: italic; font-family: arial;"&gt;user interface&lt;/span&gt;&lt;span style="font-family: arial;"&gt; yang merupakan bagian yang sering diubah oleh user, sehingga pengubahan tersebut terhindar dari error yang lebih rentan. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%; font-family: arial;"&gt;Arsitektur &lt;span style="font-weight: bold;"&gt;MVC&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MwVqF1uX3r0/SZjf0BJSP1I/AAAAAAAAADQ/e-geryw29vE/s1600-h/untitled1.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 184px;" src="http://1.bp.blogspot.com/_MwVqF1uX3r0/SZjf0BJSP1I/AAAAAAAAADQ/e-geryw29vE/s320/untitled1.bmp" alt="" id="BLOGGER_PHOTO_ID_5303234645982330706" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 78%; font-family: arial;"&gt;&lt;span style="font-style: italic;font-size:130%;" &gt;Penerapan Arsitektur MVC &lt;/span&gt;&lt;br /&gt;Framework yang sering digunakan adalah:&lt;br /&gt;1.Struts&lt;br /&gt;2.Java Server Faces(JSF)&lt;br /&gt;&lt;br /&gt;Struts Framework&lt;br /&gt;&lt;br /&gt;Struts adalah framework open source yang disediakan dan dikelola oleh Apache Software Foundation.&lt;br /&gt;&lt;br /&gt;&lt;o:shapelayout ext="edit"&gt;&lt;/o:shapelayout&gt;&lt;o:idmap ext="edit" data="1"&gt;&lt;/o:idmap&gt;&lt;p:colorscheme colors="#ffffff,#000000,#808080,#000000,#00cc99,#3333cc,#ccccff,#b2b2b2"&gt;&lt;/p:colorscheme&gt;&lt;o:shapelayout ext="edit"&gt;&lt;/o:shapelayout&gt;&lt;o:idmap ext="edit" data="1"&gt;&lt;/o:idmap&gt;&lt;p:colorscheme colors="#ffffff,#000000,#808080,#000000,#00cc99,#3333cc,#ccccff,#b2b2b2"&gt;  &lt;/p:colorscheme&gt;&lt;/span&gt;&lt;p:colorscheme style="font-family: arial;" colors="#ffffff,#000000,#808080,#000000,#00cc99,#3333cc,#ccccff,#b2b2b2"&gt;&lt;/p:colorscheme&gt;&lt;span style="font-family: arial; font-size: 78%;" lang="EN-GB"&gt;Controller &lt;/span&gt;&lt;span style="font-family: arial; font-size: 78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p:colorscheme style="font-family: arial;" colors="#ffffff,#000000,#808080,#000000,#00cc99,#3333cc,#ccccff,#b2b2b2"&gt;&lt;/p:colorscheme&gt;&lt;/span&gt;   &lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} p\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} v\:textbox {display:none;} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if !ppt]--&gt;&lt;!--[endif]--&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} p\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} v\:textbox {display:none;} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if !ppt]--&gt;&lt;!--[endif]--&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} p\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} v\:textbox {display:none;} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if !ppt]--&gt;&lt;!--[endif]--&gt;  &lt;div class="O" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.68%; top: 0.22em;"&gt;—&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;ActionServlet &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div class="O1" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.77%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;&lt;span style=""&gt; &lt;/span&gt;Action Servlet merupakan bagian pusat dari implementasi&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="width: 9.37%;"&gt; &lt;/span&gt;controller pada Struts Framework.  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div class="O1" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.79%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;&lt;span style=""&gt; &lt;/span&gt;Bekerja sebagai Front Controller servlet dan menyediakan akses tunggal ke dalam aplikasi web &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div class="O1" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.79%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;&lt;span style=""&gt; &lt;/span&gt;ActionServlet membaca konfigurasi dari file struts-config.xml &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div class="O1" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.79%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;&lt;span style=""&gt; &lt;/span&gt;Disediakan oleh Struts Framework &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div class="O" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.68%; top: 0.22em;"&gt;—&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;Action &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div class="O1" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.79%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;&lt;span style=""&gt; &lt;/span&gt;Menangani beberapa client request yang dikirim oleh Front Controller servlet &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div class="O1" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.79%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt; Struts Framework hanya menyediakan dasar Action class &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div class="O" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.68%; top: 0.22em;"&gt;—&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;ActionForm &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;span style="color: rgb(255, 255, 255);font-size:100%;" &gt;&lt;span style="font-family: arial; font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.79%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-size: 78%;" lang="EN-GB"&gt;&lt;span style=""&gt; &lt;/span&gt;Digunakan untuk memvalidasi masukan dari user sebelum memroses dengan Action&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-size: 78%;"&gt;&lt;o:shapelayout ext="edit"&gt;&lt;/o:shapelayout&gt;&lt;o:idmap ext="edit" data="1"&gt;&lt;/o:idmap&gt;&lt;p:colorscheme colors="#ffffff,#000000,#808080,#000000,#00cc99,#3333cc,#ccccff,#b2b2b2"&gt;  &lt;/p:colorscheme&gt;&lt;div shape="_x0000_s1026" style=""&gt;  &lt;div class="O"&gt;Controller (lanjt)‏ &lt;/div&gt;  &lt;div class="O" style=""&gt;&lt;span style="position: absolute; left: -2.95%; top: 0.22em;"&gt;—&lt;/span&gt;struts-config.xml &lt;/div&gt;  &lt;div class="O1" style=""&gt;&lt;span style="position: absolute; left: -3.08%;"&gt;•&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;Merupakan file konfigurasi dari komponen komponen Struts Framework &lt;/div&gt;  &lt;div class="O1" style=""&gt;&lt;span style="position: absolute; left: -3.08%;"&gt;•&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;Dengan file ini dapat diketahui tentang penggunaan Action, Komponen Form dsb. &lt;/div&gt;  &lt;div class="O" style=""&gt; &lt;/div&gt;  &lt;div class="O" style=""&gt; &lt;/div&gt;  &lt;div class="O" style="text-align: justify;"&gt;&lt;nobr&gt; &lt;/nobr&gt;&lt;/div&gt;  &lt;div class="O1" style=""&gt; &lt;/div&gt;    &lt;/div&gt;  &lt;o:shapelayout ext="edit"&gt;&lt;/o:shapelayout&gt;&lt;o:idmap ext="edit" data="1"&gt;&lt;/o:idmap&gt;&lt;p:colorscheme colors="#ffffff,#000000,#808080,#000000,#00cc99,#3333cc,#ccccff,#b2b2b2"&gt;  &lt;/p:colorscheme&gt;&lt;/span&gt;&lt;p:colorscheme style="font-family: arial;" colors="#ffffff,#000000,#808080,#000000,#00cc99,#3333cc,#ccccff,#b2b2b2"&gt;&lt;/p:colorscheme&gt;&lt;/span&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} p\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} v\:textbox {display:none;} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if !ppt]--&gt;&lt;!--[endif]--&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} p\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} v\:textbox {display:none;} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if !ppt]--&gt;&lt;!--[endif]--&gt;  &lt;div class="O" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;Model &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div class="O1" style="font-family: arial; color: rgb(255, 255, 255);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -3.06%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;&lt;span style=""&gt; &lt;/span&gt;Struts Framework mendukung beberapa komponen Model, diantaranya: &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;ul style="color: rgb(255, 255, 255);"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.91%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;&lt;span style=""&gt; &lt;/span&gt;JavaBeans &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.91%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 78%;" lang="EN-GB"&gt;&lt;span style=""&gt; &lt;/span&gt;EJB &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial; font-size: 78%;"&gt;&lt;span style="position: absolute; left: -2.91%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-size: 78%;" lang="EN-GB"&gt;&lt;span style="font-size: 85%;"&gt; &lt;/span&gt;&lt;span style="font-size: 85%;"&gt;CORBA&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;  &lt;div class="O" style=""&gt;&lt;span style=""&gt;&lt;span style="position: absolute; left: -3.38%; top: 0.22em;"&gt;—&lt;/span&gt;&lt;/span&gt;View &lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} p\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} v\:textbox {display:none;} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if !ppt]--&gt;&lt;!--[endif]--&gt;&lt;div style="font-family: arial; color: rgb(255, 255, 255);" shape="_x0000_s1026"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 78%;"&gt;  &lt;div class="O1" style=""&gt;&lt;span style=""&gt;&lt;span style="position: absolute; left: -2.63%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;Struts dapat menggunakan berbagai macam tehnologi presentation layer. &lt;/div&gt;  &lt;div class="O1"&gt;&lt;span style=""&gt;&lt;span style="position: absolute; left: -2.42%;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;Struts menyediakan sebuah set tag libraries yang dapat digunakan untuk penggunaan fitur – fitur  Struts &lt;/div&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: rgb(255, 255, 255);font-size:100%;" &gt;&lt;span style="font-family: arial; font-size: 78%;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6463425833060133469-8431565166866621571?l=jhum89.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhum89.blogspot.com/feeds/8431565166866621571/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://jhum89.blogspot.com/2009/02/mvc-model-view-controller.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/8431565166866621571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/8431565166866621571'/><link rel='alternate' type='text/html' href='http://jhum89.blogspot.com/2009/02/mvc-model-view-controller.html' title='MVC (Model View Controller)'/><author><name>www.jhum.blogspot.com</name><uri>http://www.blogger.com/profile/02175087316962189668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_OnKTtELcVE8/SUiUXnN5cYI/AAAAAAAAAAM/fe0XDl8pT6U/S220/Jhum+Chut3(549).jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MwVqF1uX3r0/SZjf0BJSP1I/AAAAAAAAADQ/e-geryw29vE/s72-c/untitled1.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6463425833060133469.post-4086501207487780359</id><published>2009-01-27T23:03:00.000-08:00</published><updated>2009-01-27T23:05:16.237-08:00</updated><title type='text'>SQL dan JDBC</title><content type='html'>&lt;span style="color: rgb(255, 255, 255); font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;S Q L&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Struktur Query Language atau disingkat SQL adalah suatu program data base yang paling sering digunakan dalam dunia basis data. Selain Open source tetapi juga penggunaan bahasa yang relatif sederhana dibandingkan program database lainnya.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Adapun SQL yang akan kita gunakan disini adalah MySQL.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Ada beberapa perintah dasar dalam MySQL yaitu :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;1.SELECT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;   Perintah SELECT digunakan untuk query dari informasi database menampilkan dalam bentuk satu set baris.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Struktur perintah dari peritah SELECT :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt; " &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(255, 255, 255);"&gt;SELECT coloums FROM tablename where condition&lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;(s) "&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;2.INSERT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;   Insert digunakan untuk menyisipkan atau menambah baris pada tabel.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Struktur perintah dari perintah INSERT :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;  " &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(255, 255, 255);"&gt;INSERT INTO table-name VALUES(value1,value2,...&lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;) "&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;3.UPDATE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;   Digunakan untuk mengupdate isi data dalam tabel.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Struktur perintah dari perintah UPDATE :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;  "&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(255, 255, 255);"&gt; UPDATE table-name set column-value(s) WHERE condition(s)&lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt; "&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;4.DELETE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;  Digunakan untuk menghapus baris/record dalam tabel.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Struktur peritah dari perintah DELETE :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;   " &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(255, 255, 255);"&gt;DELETE FROM table-name WHERE conditin(s)&lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt; "&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 255, 255); font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;J D B C&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Java Database Connectivity (JDBC) adalah standar Java API untuk mengakses database yang dinamakan.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Class-class yang digunakan dalam JDBC API :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;# java.sql.Connection - menghandle koneksi dengan database.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;# java.sql.DriverManager - memanage driver JDBC yang digunakan oleh aplikasi.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;# java.sql.DataSource - Mengabstrasikan detail (URL, detail autentikasi) bagaimana memperoleh koneksi dengan database.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;# java.sql.Statement - menyediakan method untuk mengeksekusi perintah SQL bagi para             pengembang.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;# java.sql.ResultSet - menampilkan hasil dari eksekusi perintah SQL.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6463425833060133469-4086501207487780359?l=jhum89.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhum89.blogspot.com/feeds/4086501207487780359/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://jhum89.blogspot.com/2009/01/sql-dan-jdbc.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/4086501207487780359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/4086501207487780359'/><link rel='alternate' type='text/html' href='http://jhum89.blogspot.com/2009/01/sql-dan-jdbc.html' title='SQL dan JDBC'/><author><name>www.jhum.blogspot.com</name><uri>http://www.blogger.com/profile/02175087316962189668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_OnKTtELcVE8/SUiUXnN5cYI/AAAAAAAAAAM/fe0XDl8pT6U/S220/Jhum+Chut3(549).jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6463425833060133469.post-1598921307309778027</id><published>2009-01-21T19:58:00.000-08:00</published><updated>2009-01-21T20:04:10.366-08:00</updated><title type='text'>Pengenalan Java Design Web</title><content type='html'>1.Ketik Perintah dibawah ini di notepad&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MwVqF1uX3r0/SUikhePWusI/AAAAAAAAAA4/nuHfHxELHyw/s1600-h/aku.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 227px;" src="http://2.bp.blogspot.com/_MwVqF1uX3r0/SUikhePWusI/AAAAAAAAAA4/nuHfHxELHyw/s320/aku.bmp" alt="" id="BLOGGER_PHOTO_ID_5280651458052012738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.Lalu Save as Ke Program File/Apache Software Foundation/Tomcat5.5/webapps/ROOT&lt;br /&gt;&lt;br /&gt;3.Maka akan tampil tampilan seperti ini&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;h1&gt;"Hello World" &lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6463425833060133469-1598921307309778027?l=jhum89.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhum89.blogspot.com/feeds/1598921307309778027/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://jhum89.blogspot.com/2009/01/pengenalan-java-design-web.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/1598921307309778027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/1598921307309778027'/><link rel='alternate' type='text/html' href='http://jhum89.blogspot.com/2009/01/pengenalan-java-design-web.html' title='Pengenalan Java Design Web'/><author><name>www.jhum.blogspot.com</name><uri>http://www.blogger.com/profile/02175087316962189668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_OnKTtELcVE8/SUiUXnN5cYI/AAAAAAAAAAM/fe0XDl8pT6U/S220/Jhum+Chut3(549).jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_MwVqF1uX3r0/SUikhePWusI/AAAAAAAAAA4/nuHfHxELHyw/s72-c/aku.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6463425833060133469.post-7826688020950401181</id><published>2009-01-21T19:45:00.000-08:00</published><updated>2009-01-21T19:57:32.095-08:00</updated><title type='text'>Pembuatan Design Web Jeni</title><content type='html'>1.Install JDK JAVA For Windows&lt;br /&gt;2.Install Apache Tomcat&lt;br /&gt;3.Install Netbeans For Windows&lt;br /&gt;&lt;br /&gt;1.Apabila Apache Sudah Terinstall Maka Akan Muncul Icon Seperti dibawah ini&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OnKTtELcVE8/SXftv_GHNGI/AAAAAAAAAAo/T4TPULRdO10/s1600-h/wow.jpg"&gt;&lt;img style="cursor: pointer; width: 192px; height: 110px;" src="http://4.bp.blogspot.com/_OnKTtELcVE8/SXftv_GHNGI/AAAAAAAAAAo/T4TPULRdO10/s320/wow.jpg" alt="" id="BLOGGER_PHOTO_ID_5293961295644013666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.Tulis pada Address Bar di web browser localhost:8080&lt;br /&gt;Maka akan muncul Pesan yang menandakan kalau sudah terhubung dengan server Apache.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OnKTtELcVE8/SXfuW_nV-_I/AAAAAAAAAAw/3AnW_cqaMd4/s1600-h/untitled.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 134px;" src="http://2.bp.blogspot.com/_OnKTtELcVE8/SXfuW_nV-_I/AAAAAAAAAAw/3AnW_cqaMd4/s320/untitled.jpg" alt="" id="BLOGGER_PHOTO_ID_5293961965798292466" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6463425833060133469-7826688020950401181?l=jhum89.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhum89.blogspot.com/feeds/7826688020950401181/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://jhum89.blogspot.com/2009/01/pembuatan-design-web-jeni.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/7826688020950401181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/7826688020950401181'/><link rel='alternate' type='text/html' href='http://jhum89.blogspot.com/2009/01/pembuatan-design-web-jeni.html' title='Pembuatan Design Web Jeni'/><author><name>www.jhum.blogspot.com</name><uri>http://www.blogger.com/profile/02175087316962189668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_OnKTtELcVE8/SUiUXnN5cYI/AAAAAAAAAAM/fe0XDl8pT6U/S220/Jhum+Chut3(549).jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_OnKTtELcVE8/SXftv_GHNGI/AAAAAAAAAAo/T4TPULRdO10/s72-c/wow.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6463425833060133469.post-1054151900807048066</id><published>2008-12-16T23:00:00.000-08:00</published><updated>2009-01-27T23:01:35.722-08:00</updated><title type='text'>Membuat JSP (Java Server Pages)</title><content type='html'>&lt;span style="font-weight: bold; font-style: italic;"&gt;Apakah jsp itu???&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;JSP(Java Server Pages)adalah suatu bahasa pemrograman web(Sripting) yang bersifat side, yang menggabungkan HTML dan Sripting tag dan program java. Suatu berkas JSP yang telah dibuat, ditandai dengan berkas ekstensi (.jsp). Untuk menggunakan atau menjalankan JSP ini dibutuhkan aplikasi Apache Tomcat sebagai web server.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Membuat JSP&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Sama seperti membuat servlet,  dalam membuat &lt;/span&gt;&lt;span style="font-family: arial;"&gt;JSP Page &lt;/span&gt;&lt;span style="font-family: arial;"&gt;pertama kita harus membuat &lt;/span&gt;&lt;span style="font-style: italic; font-family: arial;"&gt;project&lt;/span&gt;&lt;span style="font-family: arial;"&gt;-nya,setelah itu ikuti langkah berikut ini:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;1. JSP Page kita bisa mengeditnya lansung di&lt;/span&gt;&lt;span style="font-family: arial;"&gt; index.jsp&lt;/span&gt;&lt;span style="font-family: arial;"&gt; atau membuat jsp page baru lalu&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;lalu menambahkan link ke &lt;/span&gt;&lt;span style="font-family: arial;"&gt;index.jsp&lt;/span&gt;&lt;span style="font-family: arial;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;2.Buat Jsp Page dengan nama &lt;/span&gt;&lt;span style="font-family: arial;"&gt;cobajsp.jsp&lt;/span&gt;&lt;span style="font-family: arial;"&gt;,tuliskan perintah berikut ini:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MwVqF1uX3r0/SVCbNJunTHI/AAAAAAAAACY/KczJ9becR-4/s1600-h/asxx.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 229px;" src="http://2.bp.blogspot.com/_MwVqF1uX3r0/SVCbNJunTHI/AAAAAAAAACY/KczJ9becR-4/s320/asxx.bmp" alt="" id="BLOGGER_PHOTO_ID_5282893013157629042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;3.Hasil dari Tampilannya adalah:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MwVqF1uX3r0/SVCeBS2u96I/AAAAAAAAACg/DnYTzwewqkc/s1600-h/asx.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_MwVqF1uX3r0/SVCeBS2u96I/AAAAAAAAACg/DnYTzwewqkc/s320/asx.bmp" alt="" id="BLOGGER_PHOTO_ID_5282896107984058274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;4.Buat Jsp Page ke-2 dengan nama &lt;/span&gt;&lt;span style="font-family: arial;"&gt;looping.jsp&lt;/span&gt;&lt;span style="font-family: arial;"&gt;,ketikkan perintah dibawah ini:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MwVqF1uX3r0/SVCgOgpKaaI/AAAAAAAAACo/tKLkMgzt7_I/s1600-h/axxx.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 156px;" src="http://3.bp.blogspot.com/_MwVqF1uX3r0/SVCgOgpKaaI/AAAAAAAAACo/tKLkMgzt7_I/s320/axxx.bmp" alt="" id="BLOGGER_PHOTO_ID_5282898534046788002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;5.Hasil tampilannya adalah:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MwVqF1uX3r0/SVCmg9eqM-I/AAAAAAAAACw/2ad-IsEP0ps/s1600-h/asxs.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_MwVqF1uX3r0/SVCmg9eqM-I/AAAAAAAAACw/2ad-IsEP0ps/s320/asxs.bmp" alt="" id="BLOGGER_PHOTO_ID_5282905448094774242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;catatan:&lt;/span&gt;&lt;span style="font-family: arial;"&gt;ini digunakan untuk mengulang hal yang sama&lt;/span&gt;&lt;span style="font-family: arial;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;6.Buat Jsp page ke-3 dengan nama &lt;/span&gt;&lt;span style="font-family: arial;"&gt;deklarasi.jsp&lt;/span&gt;&lt;span style="font-family: arial;"&gt;,ketikkan perintah dibawah ini:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MwVqF1uX3r0/SVCnXCcfFEI/AAAAAAAAAC4/esce5YS31jw/s1600-h/aku.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 117px;" src="http://2.bp.blogspot.com/_MwVqF1uX3r0/SVCnXCcfFEI/AAAAAAAAAC4/esce5YS31jw/s320/aku.bmp" alt="" id="BLOGGER_PHOTO_ID_5282906377140769858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;7.Dan hasil Tampilannya adalah seperti berikut ini:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MwVqF1uX3r0/SVGa2OU84wI/AAAAAAAAADA/z17mdDgjLVE/s1600-h/akupun.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_MwVqF1uX3r0/SVGa2OU84wI/AAAAAAAAADA/z17mdDgjLVE/s320/akupun.bmp" alt="" id="BLOGGER_PHOTO_ID_5283174094231888642" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6463425833060133469-1054151900807048066?l=jhum89.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhum89.blogspot.com/feeds/1054151900807048066/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://jhum89.blogspot.com/2008/12/membuat-jsp-java-server-pages.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/1054151900807048066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/1054151900807048066'/><link rel='alternate' type='text/html' href='http://jhum89.blogspot.com/2008/12/membuat-jsp-java-server-pages.html' title='Membuat JSP (Java Server Pages)'/><author><name>www.jhum.blogspot.com</name><uri>http://www.blogger.com/profile/02175087316962189668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_OnKTtELcVE8/SUiUXnN5cYI/AAAAAAAAAAM/fe0XDl8pT6U/S220/Jhum+Chut3(549).jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_MwVqF1uX3r0/SVCbNJunTHI/AAAAAAAAACY/KczJ9becR-4/s72-c/asxx.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6463425833060133469.post-9102185812778690969</id><published>2008-12-16T07:05:00.000-08:00</published><updated>2008-12-16T07:31:37.751-08:00</updated><title type='text'>Membuat java Servlet</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;Dalam sesi tutorial kali ini, kita akan membuat servlet sederhana dalam langkah demi langkah dengan tujuan memahami bagaimana gaya Java menangani sebuah mekanisme website (request dan response) dalam mekanisme protokol HTTP. Untuk itu, ada pre-requisites yang harus kita penuhi agar dapat mengikuti tutorial ini, yaitu: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;-  Mengerti konsep object oriented Java &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;-  Minimal pernah membuat program Java :D &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;-  Mengerti bagaimana mekanisme request dan response dalam protokol HTTP. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Java Servlet, Apakah Itu? &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;Java adalah bahasa pemrograman yang benar-benar berorientasi objek. Java menanangani sebuah permasalahan dengan class-class dan method-method. Bahkan untuk menangani HTTP, Java juga menggunakan class yang dinamakan Servlet. Sebuah class yang bisa menangani request HTTP harus merupakan subclass dari objek HTTPServlet dan mengimplementasikan method abstract-nya untuk menangani request. Method doGet adalah method yang menangani request HTTP GET dan method doPost adalah method yang menangani request HTTP POST. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WEB.XML &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Lalu bagaimana sebuah class Servlet bisa melayani request yang dibentuk dari sebuah URL (Uniform Resource Locator)? Misalnya, saya ingin class GreetingServlet akan melayani request dari URL http://localhost/servlet/greetings. Mari saya perkenalkan kepada salah satu elemen yang paling berperan dalam aplikasi web berbasis Java: file web.xml. Aplikasi web berbasis Java baik yang paling sederhana hingga yang menggunakan bertumpuk-tumpuk framework akan selalu berawal dari file web.xml. File ini adalah file konfigurasi yang mengatur seluruh&lt;br /&gt;sistem web. File ini bertipe XML dan selalu terletak dalam directory WEB-INF pada aplikasiweb. Anda ingin memasang sebuah framework yang rumit? Anda akan selalu berawal dari web.xml, karena sebenarnya framework-framework tersebut tersusun dari class-class juga. Apa hubungan class servlet, web.xml, dan URL? Perhatikan dengan baik, titik ini adalah wajib Anda kuasai jika ingin menguasai web berbasis Java. Konfigurasi pada Web.xml akan mendefinisikan sebuah servlet akan melayani sebuah URL dalam URL-Mapping. Pemetaan URL ke dalam servlet inilah yang akan membuat sebuah servlet bisa menerima request dan menjawabnya.  Sehingga, komponen utama dalam aplikasi servlet adalah sebagai berikut:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;1.  Class yang merupakan subclass HTTPServlet. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;2.  File web.xml yang berisi konfigurasi aplikasi. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;3.  Mapping antara URL dan Servlet. URL mana yang akan dilayani Servlet mana dalam URL-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Mapping.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Praktik! &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;Oke, saya kira, saya akan lebih mudah menjelaskan jika kita langsung praktik saja. Agar mudah, siapkan&lt;br /&gt;dulu peralatan dan software-software berikut ini:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;1.  Java SDK versi 5 ke atas. Saya tidak akan pakai versi 1.4.2 lagi karena sudah terlalu Jadul,      heheh :P&lt;br /&gt;2.  IDE: Eclipse SDK Java EE versi Europa 3.3. Anda bisa saja memakai IDE yang lain, tetapi di tutorial ini, saya akan memakai Eclipse Java EE versi Europa 3.3. Anda dapat mendownloadnya di URL: http://www.eclipse.org &lt;br /&gt;3.  Servlet Container: Apache Tomcat versi 5.5 ke atas. Sebuah aplikasi web selalu memerlukan webserver bukan? Webserver yang dapat menerjemahkan Servlet dinamakan Servlet Container dan kita akan menggunakan salah satu Servlet Container yang paling populer: Apache Tomcat. Anda dapat mendownload-nya di URL: http://tomcat.apache.org &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Apa yang akan kita buat? Agar tidak melulu aplikasi Hello World, kita akan membuat sebuah aplikasi sesederhana Hello World, yaitu Greetings. Kita akan meminta pengunjung memasukkan nama, dan ketika ia menekan tombol, servlet akan menyapa dengan memanggil namanya. Simpel. &lt;br /&gt;Langkah pertama, install dua software yang kita butuhkan di atas, yaitu Eclipse SDK dan Tomcat. Eclipse cukup dibongkar dari file terkompresinya (ZIP atau TAR.GZ) sedangkan melakukan instalasi Tomcat juga tak lebih sulit daripada menekan tombol next hingga finish. Jadi, saya asumsikan Anda telah berhasil melakukan instalasi Eclipse dan Tomcat. Saya asumsikan, Tomcat telah berjalan dan akan mendengarkan request di port 8080 (port default Tomcat). Saya asumsikan lagi, directory instalasi Tomcat juga default, yaitu di C:\Program Files\Apache Software Foundation\Tomcat x.x dimana x.x adalah versi dari Tomcat anda.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Saya telah memiliki beberapa project web sehingga tampilan Eclipse saya sudah sedemikian sibuk.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Buat project baru. Tekan File | New | Other… atau klik kanan pada tab Project ExplorerNew | Other   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Cari tree berjudul Web dan pilih Dynamic Web Project. Anda tidak akan menemukan pilihan ini jika versi Eclipse-nya bukan Java EE atau Eclipse dijalankan memakai JRE versi 1.4 ke bawah. Kalau sudah ketemu tekan Next. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Pada Project name, beri nama untuk project baru kita, misalnya bernama servlet. Untuk Project &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;contents, biarkan default maka Eclipse akan menyimpan pada workspace default yang selalu ia minta ketika Eclipse mulai dijalankan. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Untuk Target runtime, kita diminta menyebutkan platform container yang akan digunakan dalam project ini. Untuk project web pertama, combo box tersebut akan kosong sehingga kita harus membuat Target Runtime baru dengan menekan tombol New.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Membuat Target Runtime &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Setelah Anda menekan tombol New, Wizard pembuatan project baru akan ditumpuki Wizard pembuatan Target Runtime seperti screenshot di bawah ini: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Eclipse Europa mendukung beberapa runtime untuk server-server: Apache Tomcat, IBM Websphere, JBoss, Object Web, dan Oracle OAS serta Oracle OC4J. Karena saya memakai Tomcat versi 6, maka saya memilik tree Apache dan memilih Apache Tomcat v6.0. Sesuaikan versi Runtime ini dengan lingkungan Anda. Tekan Next untuk melanjutkan. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Pada dialog ini, pertama kali Anda tekan Browse dan menunjukkan tempat instalasi Tomcat. Secara otomatis, textfield Name akan terisi jika directory yang Anda masukkan dianggap valid oleh Eclipse. Setelah itu, tekan Finish. Biarkan entri JRE tetap default (Workbench default JRE). Begitu Anda tekan Finish, Anda akan kembali pada Wizard pembuatan project baru dengan Target runtime telah terisi dengan Tomcat. Biarkan default untuk entri Configuration (Default Configuration for Apache Tomcat vx.x), dan tekan Next. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Project Facets, adalah konfigurasi yang diperlukan Eclipse untuk menyesuakan diri dengan aplikasi yang akan Anda buat. Nanti Eclipse akan mengeluarkan pesan-pesan error dan peringatan berdasarkan Facets ini.  Dua opsi tercentang secara default. Dynamic Web Module adalah versi spesifikasi Servlet yang akan Anda gunakan. Untuk alasan pribadi saja, saya masih suka menggunakan versi 2.4 daripada 2.5. Kemudian untuk Java, saya masih suka menggunakan Java versi 5. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Context Root adalah directory puncak untuk aplikasi web Anda yang akan muncul pada URL. Dengan melihat konfigurasi yang telah kita lakukan, screenshot di atas akan memiliki URL &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;http://localhost:8080/servlet. Di sini, servlet, nama project kita, sebagai context root. Content Directory adalah tempat kita menaruh file-file web seperti HTML, XML, CSS Styles, Javascript, images, dan resource-resource yang akan kita butuhkan. Tentu saja, di sini akan bercokolelemen paling penting dalam aplikasi web berbasis java: web.xml yang ada pada directory WEB-INF. Java Source directory adalah tempat source Java disimpan. Biarkan default, dan tekan Finish. Tunggu sebentar, Eclipse akan menyiapkan project baru untuk Anda. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Inilah struktur directory aplikasi web yang telah dibuatkan oleh Eclipse. Dari awal hingga akhir nanti, kita akan dimanjakan oleh Eclipse Java EE. Lihat, semua struktur directory mulai penempatan source code, library, hingga web.xml telah dibuatkan sehingga kita tinggal menambahkan dan meneruskan saja. Percayalah, hingga nanti saat pasca produksi dan deployment seperti pembuatan file WAR (Web Archive), kita akan sangat dimanja oleh Eclipse Europa ini. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Form &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Sekarang kita akan membuat form yang akan meminta pengunjung memasukkan namanya. Ketika pengunjung menekan tombol submit, data akan dikirim melalui request HTTP POST  dan dikirim balik ke servlet yang sama. Bedanya, pengunjung yang datang awal akan melakukan request HTTP GET, dan ketika mengirim data dengan request HTTP POST. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Mari kita mulai. Sekarang kita buat class Java yang merupakan subclass HttpServlet agar ia bisa melayani request HTTP. Kembali ke IDE Eclipse, pada project explorer, klik kanan project servlet  | New | Servlet… Anda akan disuguhi dialog pembuatan servlet baru. Pada isian Java Package, isi dengan nama package – misalnya, saya menamai dengan galih.tutorial.servlet. Kemudian, pada Class name, isi dengan nama class, misalnya AskNameServlet.  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Tekan tombol Next. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Dialog berikutnya adalah servlet mapping. Saya tadi telah menguraikan bahwa agar sebuah servlet bisa melayani request HTTP, maka harus ada pemetaan antara servlet dan URL. Sebuah URL akan dilayani oleh suatu servlet ditentukan pada servlet mapping ini. Kita coba biarkan dulu default seperti yang telah diisi oleh dialog tersebut. Tentu saja Anda harus bereksperimen dengan mengubah-ubah isian yang ada di situ, utamanya pada URL Mappings dengan tombol Add, Edit, dan Remove yang ada di situ. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Tekan Next. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Dialog berikutnya adalah detail dari servlet yang akan kita buat. Biarkan default, lalu tekan Finish. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Kita akan segera dibuatkan oleh Eclipse class tersebut. Perhatikan bahwa servlet tersebut memiliki tiga elemen penting: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;1.  Merupakan subclass dari javax.servlet.http.HttpServlet dan mengimplementasi interface &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;     javax.servlet.Servlet. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;2.  Memiliki method doGet. Method ini akan dijalankan ketika servlet menerima request HTTP        GET. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;3.  Memiliki method doPost. Method ini akan dijalankan ketika servlet menerima request HTTP &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;      POST. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Lalu kita tadi telah melewati dialog yang meminta memasukkan URL Mappings (yang pada kali ini kita biarkan default). Pada proses itu, Eclipse melakukan penambahan pada web.xml secara otomatis mengenai URL Mappings dan detail servlet ini. Jadi, setiap servlet yang kita buat harus didefinisikan di web.xml, sekaligus URL Mapping-nya. Mari kita buka web.xml. Di sana sudah ada entri baru yang berbunyi: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;     &lt;servlet&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    &lt;description&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    &lt;/description&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    &lt;display-name&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    AskNameServlet&lt;/display-name&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    &lt;servlet-name&gt;AskNameServlet&lt;/servlet-name&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    &lt;servlet-class&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    galih.tutorial.servlet.AskNameServlet&lt;/servlet-class&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;  &lt;/servlet&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;  &lt;servlet-mapping&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    &lt;servlet-name&gt;AskNameServlet&lt;/servlet-name&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    &lt;url-pattern&gt;/AskNameServlet&lt;/url-pattern&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;  &lt;/servlet-mapping&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Jadi, jika kita menghubungi alamat via web dengan URL http://localhost:8080/servlet/AskNameServlet, maka servlet yang dijalankan adalah AskNameServlet. Method doGet akan dijalankan. Wokeh, jadi kita sekarang sudah punya method doGet yang siap melakukan sesuatu. Apa yang akan kita lakukan di dalam method ini? Tentu saja menampilkan form yang meminta pengunjung memasukkan namanya agar bisa kita sapa. Outputnya dalam tag HTML. Bagaimana mekanismenya? Pertama-tama, harus kita ketahui dulu kalau request dan response pada servlet dianggap sebuah stream. Sama ketika kita melakukan operasi baca dan tulis file di Java, yaitu menggunakan FileInputStream untuk membaca dan FileOutputStream untuk menulis. Demikian juga di servlet, kita harus mendapatkan dulu output stream dari servlet agar bisa ditulisi. Mekanismenya seperti dibawah ini: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;// mendapatkan output stream &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    PrintWriter out = response.getWriter(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Objek out kini bisa kita tulisi dengan HTML. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;// set output type dalam HTML &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    response.setContentType("text/html"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    // berikan htmlnya kepada user, ini html paling sederhana &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;html&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;head&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;title&gt;Uji Coba Servlet&lt;/title&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;/head&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;body&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;h1&gt;Silakan masukkan nama anda&lt;/h1&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;form action="'AskNameServlet'" method="'post'"&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("Nama Anda:"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;input type="'text'" name="'nama'"&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;input type="'submit'" value="'Submit'"&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;/form&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;/body&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;/html&gt;");  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Saya memasukkan kode HTML yang sangat sederhana di sini. Hanya judul, dan input teks, serta satu tombol. Penting untuk diperhatikan di sini, saya memasukkan tag &lt;form&gt; yang akan menuju ke URL AskNameServlet (diri sendiri), tetapi dengan menggunakan method POST. Meskipun merujuk satu servlet yang sama, karena requestnya adalah POST, maka yang akan melayani nanti adalah method doPost. Sebelum menulis kode untuk respon untuk POST, mari kita coba jalankan dulu. Klik kanan AskNameServlet pada Project Explorer dan pilih Debug As | Debug on Server. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Anda akan disuguhi dialog wizard lagi untuk melakukan debugging di server. Karena kita tadi telah membuat Runtime berupa Tomcat, maka halaman pertama wizard ini bisa langsung dilewati. Pilih existing server dan Tomcat v.xx at localhost. Tekan Next. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; Pada halaman dua, pastikan project kita (servlet)berada di sisi kanan di bawah Configured projects. Kalau sudah, langsung saja tekan finish.   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Eclipse akan membuka internal web browser. Jika Anda beruntung, Anda akan mendapatkan tampilan yang mirip dengan screenshot di bawah ini: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; Kita telah konfigurasi bahwa jika pengunjung menekan tombol Submit, maka request akan menuju ke servlet yang sama dengan mode POST. Oleh karena itu, kita mesti mengolah inputan pengunjung pada method doPost. Mari kita lakukan. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Pertama-tama, kita harus mendapatkan input dari pengunjung terlebih dahulu. Input ini didapatkan dari textfield yang kita beri nama nama. Berdasarkan parameter nama tersebut, kita mendapatkan input di servlet dengan cara: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;// mendapatkan user input &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    String nama = request.getParameter("nama"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Lalu kita tampilkan kembali ke pengunjung sambil menyapanya. Prosesnya sama dengan penanganan &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;request HTTP GET, yaitu mendapatkan output stream, lalu menulisinya dengan tag-tag HTML. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;// mendapatkan output stream &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    PrintWriter out = response.getWriter(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    // set output type dalam HTML &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    response.setContentType("text/html"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    // berikan htmlnya kepada user, ini html paling sederhana &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;html&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;head&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;title&gt;Uji Coba Servlet&lt;/title&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;/head&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;body&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;h1&gt;Halo " + nama + ", Apa Kabar?&lt;/h1&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;/body&gt;"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;    out.println("&lt;/html&gt;");  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Jalankan kembali server dengan cara yang sama seperti cara yang telah saya sebutkan di atas.  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Lalu setelah kita menekan tombol Submit, kita akan mendapatkan response dari server: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Deployment&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Setelah kita menulis baris demi baris kode di Eclipse, tiba saatnya kita upload ke server production untuk menjadi aplikasi yang digunakan. Untuk itu, Java memiliki cara tersendiri dalam proses deployment. Java menggunakan satu bundel file yang disebut WAR (Web Archive) untuk kebutuhan deployment ke server production. File ini sebenarnya adalah file yang dikompres dalam format ZIP dengan tambahan spesifikasi yang menjelaskan mengenai  aplikasi web tersebut. Spesifikasi ini disimpan di dalam folder META-INF dan WEB-INF. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Cara pembuatan file WAR ini bisa menggunakan tool command line yang bernama jar, yang telah ada bersama tool-tool Java SDK. Wups, command line? Ada yang sedikit alergi dengan tool-tool yang berbau command line? Tenang, Eclipse Europa telah menyediakan menu yang telah mengotomatisasi proses pembuatan file WAR dengan sekali dua kali klik saja. Bagaimana caranya? Ikuti saya  Kembali ke tab Project Explorer di sebelah kiri, pada project klik kanan, pada konteks menu yang keluar pilih Export | WAR file. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Pada dialog yang muncul, pada isian Destination, isi dengan lokasi penyimpanan pada directory dimana project servlet berada. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Kemudian tekan Finish. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;File ini siap dideploy pada server. Men-deploy pada Tomcat Sekarang kita akan coba mendeploy file servlet.war yang baru saja kita buat di server yang juga kita pakai untuk development, yaitu Tomcat. Pertama-tama, pastikan Tomcat tidak kita gunakan sebagai server development di Eclipse. Pada tab Server di bagian bawah, pastikan status Tomcat adalah Stopped. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Kemudian, jalankan Tomcat sebagai stand-alone server, bukan dari Eclipse, dengan cara menjalankan service-nya. Jalankan program Monitor Tomcat. Tekan Start | All Programs | Apache Tomcat x.x | Monitor Tomcat. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Bentuk programnya adalah seperti screenshot di bawah ini: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Jalankan service dengan menekan tombol Start. Lalu buka browser, hubungi alamat http://localhost:8080/manager/html.  Anda akan diminta memasukkan user administrator dan password. User administrator default Tomcat adalah admin. Sedangkan passwordnya Anda buat pada saat melakukan instalasi Tomcat. Jika lupa passwordnya, detail user dan password ini bisa Anda lihat di file tomcat-users.xml yang terletak di folder conf di bawah folder instalasi Tomcat Anda. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Terlihat di situ bahwa user admin memiliki password admin. Kita akan diantarkan pada halaman administrasi server Tomcat yang cukup sederhana. Kemudian, scroll ke bawah hingga bagian WAR file to deploy. Tekan Browse dan pilih file WAR yang telah kita buat tadi di sini. Setelah itu tekan Deploy. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Tomcat akan memproses, dan jika berhasil, ia akan memberikan pesan pendek: OK. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Pastikan pula, servlet telah terdeploy dan berjalan dengan sukses. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;Kita coba jalankan browser dan hubungi alamat http://localhost:8080/servlet/AskNameServlet. Pastikan servlet telah berjalan dengan baik dan merespon dengan respon yang sama dengan apa yang telah kita coba waktu di Eclipse. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Penutup dan Kesimpulan &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Apa yang telah kita pelajari hari ini: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;1.  Pembuatan servlet sederhana dengan menggunakan Eclipse Europa &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;2.  Mengerti proses penanganan request HTTP di Java &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;3.  Membuat file WAR dengan Eclipse Europa &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;4.  Melakukan deployment di server Apache Tomcat &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Setelah kita mempelajari servlet dan mengerti konsep servlet, kini kita tahu bagaimana cara Java menangani web request dengan protokol HTTP. Tetap. Java tetap menangani request lewat objek Servlet pada method doGet dan doPost. Tanpa saya beritahu pun seharusnya Anda telah mengerti kelemahan terbesar mekanisme ini: penulisan output. Yap, penulisan response dalam bentuk HTML harus melalui mekanisme OutputStream. Kita harus mendapatkan objek OutputStream dan menulis tag HTML dengan cara memanggil out.println berkali-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;kali. Sangat menyebalkan. Selain tidak fleksibel, kita tidak bisa menggunakan WYSIWYG (What You See What You Get) editor dalam hal ini semacam Adobe Dreamweaver. Itulah mengapa saya tadi memberikan contoh HTML yang sangat sederhana Selain tidak dapat diproses dengan menggunakan editor WYSIWYG, setiap kali kita ingin mengubah kode HTML, kita harus melakukan kompilasi ulang servlet. Ini sangat menyakitkan. Tidak sebanding antara usaha dan hasil jika kita ingin menggeser posisi suatu teks harus melakukan kompilasi ulang. Untuk itulah muncul solusi JSP (Java Server Pages). JSP memungkinkan kita mencampur kode HTML dan &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;kode Java dalam satu file. Jika Anda telah mengenal bahasa pemrograman web PHP, gaya JSP sama seperti PHP. Dalam prosesnya, file JSP akan dikompilasi menjadi servlet oleh web container sebelum melayani request HTTP. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Tetapi mengapa saya memperkenalkan konsep servlet? Bukan JSP yang jauh lebih mudah? Karena saya tidak ingin JSP diperlakukan persis seperti PHP yang scripting. Harus diingat bahwa JSP akan dikompilasi menjadi servlet sebelum melayani request.  Desain aplikasi yang baik adalah memisahkan antara presentasi dan bussiness logic dalam bagian yang benar-benar terpisah. Desain seperti ini disebut MVC (Model View Controller). Konsep MVC akan memudahkan kita dalam merawat aplikasi yang akan selalu berkembang. JSP seyognyanya kita pakai untuk presentasi saja, sedangkan logika bisnis aplikasi tetap kita lakukan di servlet. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Untuk itu, dalam seri tutorial yang akan datang, saya tidak akan membahas JSP, akan tetapi saya akan langsung memperkenalkan framework Java Web. Agar mudah dimengerti, konsep framework akan jauh lebih mudah diterangkan jika konsep servlet telah dimengerti terlebih dahulu, seperti objek-objek Java yang menangani dan hubungannya dengan web.xml yang berperan sangat penting dalam sebuah aplikasi Java Web. &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6463425833060133469-9102185812778690969?l=jhum89.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhum89.blogspot.com/feeds/9102185812778690969/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://jhum89.blogspot.com/2008/12/membuat-java-servlet.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/9102185812778690969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/9102185812778690969'/><link rel='alternate' type='text/html' href='http://jhum89.blogspot.com/2008/12/membuat-java-servlet.html' title='Membuat java Servlet'/><author><name>www.jhum.blogspot.com</name><uri>http://www.blogger.com/profile/02175087316962189668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_OnKTtELcVE8/SUiUXnN5cYI/AAAAAAAAAAM/fe0XDl8pT6U/S220/Jhum+Chut3(549).jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6463425833060133469.post-6812452595057717735</id><published>2008-12-11T20:30:00.000-08:00</published><updated>2008-12-11T20:49:21.063-08:00</updated><title type='text'>Jadwal Mata Kuliah Design Web</title><content type='html'>&lt;span style="color: rgb(255, 255, 255);font-family:times new roman;" &gt;Pertemuan I : Kamis, 20 November 2008, jam 10.00 &lt;span style="font-style: italic;"&gt;Pengenalan Web&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);font-family:times new roman;" &gt;Pertemuan II : Rabu, 10 Desember 2008, jam 08.30 &lt;span style="font-style: italic;"&gt;Servlet&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);font-family:times new roman;" &gt;Pertemuan III : Rabu, 17 Desember 2008, jam 08.30 &lt;span style="font-style: italic;"&gt;Peng. JSP&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);font-family:times new roman;" &gt;Pertemuan IV : Rabu, 07 Januari 2009, jam 08.30 &lt;span style="font-style: italic;"&gt;SQL &amp;amp; JDBC&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);font-family:times new roman;" &gt;Pertemuan V : Rabu, 14 Januari 2009, jam 08.30 &lt;span style="font-style: italic;"&gt;Peng. MVC&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);font-family:times new roman;" &gt;Pertemuan VI : Rabu, 04 Februari 2009, jam 08.30 &lt;span style="font-style: italic;"&gt;JSF&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);font-family:times new roman;" &gt;Pertemuan VII : Rabu, 11 Februari 2009, jam 08.30 &lt;span style="font-style: italic;"&gt;AJAX&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);font-family:times new roman;" &gt;Pertemuan VIII : Rabu, 04 Maret 2009, jam 08.30 &lt;span style="font-style: italic;"&gt;Design Pattern&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6463425833060133469-6812452595057717735?l=jhum89.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhum89.blogspot.com/feeds/6812452595057717735/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://jhum89.blogspot.com/2008/12/jadwal-mata-kuliah-design-web.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/6812452595057717735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6463425833060133469/posts/default/6812452595057717735'/><link rel='alternate' type='text/html' href='http://jhum89.blogspot.com/2008/12/jadwal-mata-kuliah-design-web.html' title='Jadwal Mata Kuliah Design Web'/><author><name>www.jhum.blogspot.com</name><uri>http://www.blogger.com/profile/02175087316962189668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_OnKTtELcVE8/SUiUXnN5cYI/AAAAAAAAAAM/fe0XDl8pT6U/S220/Jhum+Chut3(549).jpg'/></author><thr:total>0</thr:total></entry></feed>
