Welcome to Abdul Malik Ikhsan's Blog

mendapatkan url parameter dari servlet

Posted in Tutorial JSP, Tutorial Servlet by samsonasik on June 1, 2009

Pemanggilan url yang sering kita pakai pada framework2 php seperti CodeIgniter atau pun Zend ataupun framework php yang lain dapat kita gunakan pula di JSP, dengan servlet. misal, kita gunakan url parameter edit data :

<url-pattern>/detailbrg/kode/*</url-pattern>

Nah, cara panggil di servlet nya bisa seperti ini :

//————————————
response.setContentType(“text/html;charset=UTF-8”);
PrintWriter out = response.getWriter();
String[] spliturl = request.getRequestURL().toString().trim().split(“/”);

String kode = null;
for(int i=0;i

Template helper menggunakan Servlet

Posted in Tutorial JSP, Tutorial Servlet by samsonasik on May 3, 2009

Hm…, lama nih saya ga `nyentuh` servlet & JSP, hitung2 membuka lagi memori lama(cie…cie..), kemarin saya baca buku “Web Development with Java Using Hibernate, JSPs, and Servlets” karya Tim Downey, ternyata banyak hal yang saya belum ketahui, contohnya tentang materi yang akan kita bahas kali ini.
Konsep penggunaan template helper pada berbagai macam framework maupun bahasa pemrograman selalu mengacu pada reuse template include, yang pada intinya akan memudahkan programmer dan designer itu sendiri, serta menghemat memori karena menghemat source code yang ada.
Dalam Java Web Development, kita bisa menggunakan servlet untuk menginclude header & footer secara otomatis. Secara class diagram dapat digambarkan sebagai berikut :

class-diagram

Berikut Source Code untuk class HelperBase :

package Helpers;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author samsonasik
 */
public class HelperBase extends HttpServlet {
    protected HttpServletRequest request;
    protected HttpServletResponse response;

    public HelperBase(){}

    public HelperBase(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        this.request = request;
        this.response = response;
    }

}

Kemudian, source code untuk ControllerHelper :

package Helpers;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.*;

/**
 *
 * @author samsonasik
 */
public class ControllerHelper extends HelperBase {

    public ControllerHelper(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

        super(request, response);
    }

    public void doGet(String address) throws ServletException, IOException {
        request.getSession().setAttribute("helper", this);

        request.getRequestDispatcher("/header.jsp").include(request, response);
        request.getRequestDispatcher("/"+address).include(request, response);
        request.getRequestDispatcher("/footer.jsp").include(request,response);
    }
}

———–
Nah, sekarang kita sudah punya ControllerHelper, sekarang,kita bisa gunakan untuk berbagai macam controller, tinggal instansiasi kelas ControllerHelper dan gunakan method doGet(address) seperti di bawah ini :

package Controllers;

import Helpers.ControllerHelper;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author samsonasik
 */
public class TestController extends HttpServlet {

    ControllerHelper helper ;

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
      helper = new ControllerHelper(request, response);
      helper.doGet("index.jsp");
    }

}

Referensi : Web Development With Java Using Hibernate, JSPs,and Servlets – Tim Downey : 2007

Membuat Paging pada JSP

Posted in Tutorial JSP, Tutorial Servlet by samsonasik on March 10, 2009

Hm…, lama nih ga nulis artikel tentang JSP, habis, nasib ngurusin PHP mulu, :), he..he… Di sini saya memodifikasi kelas pagination punya CodeIgniter (PHP), cuma copy logika nya aja, karena pagination nya emang udah bagus 🙂 (bilang aja ga bisa buat sendiri, xi..xi…xi…).

Hal pertama yang harus ditentukan adalah, apa yang akan kita list dan kita paging. Saya di sini akan memberi contoh tentang paging menggunakan PostgreSQL, dengan table orang dengan field2 nya id, nama, alamat, simple kan ? 🙂
OK, sekarang kita siapkan modelnya :

1. Kelas Koneksi

package beanpackage;
import java.sql.*;
/**
 *
 * @author samsonasik
 */
public class Koneksi {

 private Connection con=null;
 private Statement st=null;
 private ResultSet rs=null;

 public Koneksi()throws SQLException,ClassNotFoundException {
 Class.forName("org.postgresql.Driver");
 con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/ikhsandb","ikhsan","123456");
 st = con.createStatement();
 }

 public void seleksi(String s) throws SQLException{
 rs = st.executeQuery(s);
 }

 public boolean getNext() throws SQLException{
 return rs.next();
 }

 public String getText(String t) throws SQLException{
 return rs.getString(t);
 }

 public int getInt(String t) throws Exception {
 return rs.getInt(t);
 }
}

2. Kelas Pagination (library pagination nya )

package beanpackage;

/**
 *
 * @author samsonasik
 */
//dimodifikasi dari kelas paginationnya codeIgniter
public class Pagination {
    public int totalrows = 0;
    public int numlink   = 2;
    public int curpage   = 0;
    public int perpage = 2;
    public String firstlink = "First";
    public String nextlink = "Next";
    public String prevlink = "Previous";
    public String lastlink = "Last";

    public String createlinks(int halaman) {
        if ( (this.totalrows==0) || (this.perpage==0)) {
            return "";
        }

        int numpage = this.totalrows / this.perpage ;
        int sisa  = this.totalrows % this.perpage;
        if (sisa > 0 ){
            numpage = numpage + 1;
        }

        if (numpage==1) {
            return "";
        }

        try {
            this.curpage = halaman;
        } catch (Exception e) {
            this.curpage = 1;
        }

        try {
            this.curpage = (int) this.curpage;
        } catch (Exception e) {
            this.curpage = 1;
        }

        if (this.curpage > this.totalrows)
        {
            this.curpage = (numpage -1 ) * this.perpage ;
        }

        if (this.curpage < 1 ) {
            this.curpage = 1;
        }

        int uri_page_number = this.curpage ;
        int start = ((this.curpage - this.numlink) > 0 ) ? this.curpage - (this.numlink -1) : 1;
        int end   = ((this.curpage + this.numlink < numpage)) ? this.curpage + this.numlink : numpage;

        //inisialisasi ...
        String theoutput = "";
        //Render first link
        if (this.curpage > (this.numlink +1))
        {
            if (this.curpage <= numpage) {
                theoutput +="<a href=\"?page=1\">"+this.firstlink+"</a>&nbsp;";
            } else {
                theoutput +="";
            }
        } 

        //Render Previous Link
        if (this.curpage !=1) {
            if (this.curpage <= numpage) {
                theoutput +="<a href=\"?page="+(this.curpage-1)+"\">"+this.prevlink+"</a>&nbsp;";
            } else {
                theoutput +="";
            }
        }

        //render digit link

        for (int loop = start -1; loop<end;loop++) {
            if (this.curpage <= numpage) {
            if (this.curpage == (loop+1)) {
                theoutput += loop+1+"&nbsp;";
            } else {
                theoutput += "<a href=\"?page="+(loop+1)+"\">"+(loop+1)+"</a>&nbsp;";
            }
            } else {
                theoutput +="";

            }
        }

        //render the next link
        if (this.curpage < numpage) {
            theoutput += "<a href=\"?page="+(this.curpage+1)+"\">"+this.nextlink+"</a>&nbsp;";
        } else {
            theoutput +="";
        }

        //render the last link
        if ((this.curpage + this.numlink)<numpage) {
            theoutput += "<a href=\"?page="+numpage+"\">"+this.lastlink+"</a>";
        }

        return theoutput;
    }
}

3. Kelas Orang (Model dari table orang)

package beanpackage;

import java.sql.SQLException;
import java.util.ArrayList;
/**
 *
 * @author samsonasik
 */
public class Orang {
    private int id;
    private String nama, alamat;

    public Orang(){ }

    public Orang(int id, String n,String a){
       this.id = id;
       this.nama = n;
       this.alamat = a;
    }

    public void setNama(String n)
    {
        this.nama = n;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public void setAlamat(String al)
    {
        this.alamat = al;
    }

    public String getNama()
    {
        return nama;
    }

    public String getAlamat()
    {
        return alamat;
    }

    //seleksi offset limit
    public ArrayList<Orang> seleksi(int offset, int limit) throws SQLException, ClassNotFoundException
    {

        ArrayList<Orang> temp = new ArrayList<Orang>();
        try {
            Koneksi kon = new Koneksi();
            kon.seleksi("select * from orang offset '"+offset+"' limit '"+limit+"'");

            while (kon.getNext()) {
                temp.add(new Orang(kon.getInt("id"), kon.getText("nama"), kon.getText("alamat")));
            }
        } catch(Exception e) {}

        return temp;
    }

    public int getJml() {
        int jml  = 0;
        try {
            Koneksi kon = new Koneksi();
            kon.seleksi("select count(*) as jml from orang");
            if (kon.getNext()) jml = kon.getInt("jml");
        } catch (Exception e){}
        return jml;
    }
}

Nah, kalau sudah tuh, kita buat servletnya, ga akan saya tulis lengkap

deh kaya’nya, cuma isi method nya aja yang memanggil

model-model yang ada.

.............
        ArrayList<Orang> temp = new ArrayList<Orang>();
        PrintWriter out = response.getWriter();
        try {
            Orang  org = new Orang();
            int page = 0;
            try {
                page = Integer.parseInt(request.getParameter("page"));
            } catch (Exception e) {
                page = 1;
            }

            Pagination pgn = new Pagination();
            pgn.totalrows = org.getJml();

            temp = org.seleksi(page*pgn.perpage-pgn.perpage,pgn.perpage);
            request.setAttribute("temp", temp);
            request.setAttribute("perpage",pgn.perpage);
            request.setAttribute("paging", pgn.createlinks(page));

        } catch(Exception e) {

            out.print("terjadi kesalahan koneksi");
            out.close();
        }
        request.getRequestDispatcher("/testlist.jsp").forward(request, response);
................

Jangan lupa konfigurasi web.xml nya, udah bisa kan ? 🙂

Terakhir adalah view :

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
${paging}
<table border="1" cellpadding="1" cellspacing="1">
<tr>
<td>No</td>
<td>Id</td>
<td>Nama</td>
<td>Alamat</td>
</tr>
<c:catch var ="catchException">
    <c:if test="${param.page eq null || param.page eq '1'}">
        <c:set var="no" value="0"/>
    </c:if>
    <c:if test="${param.page gt '1'}">
        <c:set var="no" value="${param.page * perpage - perpage }"/>
    </c:if>
  </c:catch>

    <c:if test="${catchException !=null}">
        <c:set var="no" value="0"/>
    </c:if>

    <c:forEach var="testlist" items="${temp}">
        <c:set var="no" value="${no +1}"/>
<tr>
<td>${no} .</td>
<td>${testlist.id}</td>
<td>${testlist.nama}</td>
<td>${testlist.alamat}</td>
</tr>
</c:forEach></table>
${paging}

Simple kan ? selamat mencoba 🙂

Servlet Filter

Posted in Tutorial JSP, Tutorial Servlet by samsonasik on June 7, 2008

Filter adalah sebuah komponen yang dapat menangani request atau response yang harus atau tidak harus dilakukan/diterima oleh client. Secara normal, filter digunakan untuk membungkus dan memanipulasi request, response, atau nilai header sebelum dan setelah eksekusi target.

Now, kita akan mencoba mempraktekkan sebuah filter sederhana 🙂
Pertama, kita siapkan GenericFilter sebagai implementasi dari interface javax.servlet.Filter, mengimplementasikan method doFilter, init,dan destroy.
Method init digunakan untuk menginisialisasi filter, yang kemudian dijalankan oleh doFilter, sedang method destroy digunakan untuk menghancurkan object yang diinstansiasi dari kelas FilterConfig.
berikut coding standard untuk kelas GenericFilter :

Code:
/*
from http://www.orionserver.com/tutorials/filters/1.html
*/
package filters.learn;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;

public class GenericFilter implements Filter{
private FilterConfig filterConfig;
public void doFilter(final ServletRequest req,final ServletResponse resp, FilterChain chain)
throws IOException,ServletException{
chain.doFilter(req,resp);
}
public FilterConfig getFilterConfig(){
return filterConfig;
}
public void init(FilterConfig config){
this.filterConfig = config;
}
public void destroy(){
this.filterConfig = null;
}
}

Now, let’s Writing your first Filter :

Code:
package filters.learn;
import filters.learn.GenericFilter;

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

public class HelloWorldFilter extends GenericFilter {

public void doFilter(final ServletRequest req, final ServletResponse resp, FilterChain chain)
throws IOException, ServletException {
req.setAttribute(“me”,”Ikhsan”);
chain.doFilter(req,resp);
}

}

Kita akan mencoba mengetes filter di atas, kita siapkan file JSP kita :

Code:
hai, ini aku ${me}

Pertanyaannya, bagaimana configurasi filter di atas?? eit …, tunggu dulu, sebelum kita bicara konfigurasi, tentunya kita butuh sebuah servlet lagi yang akan kita memforward, dan memapping address url, berikut codingnya :

Code:
package filters.learn;

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

public class ServletForwarderHello extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException, IOException{
req.getRequestDispatcher(“/filts/filter1.jsp”).forward(req,resp);
}
}

Nah, sekarang waktunya konfigurasi web.xml kita :

…..

<servlet>
<servlet-name>servletforwarderhellofilter</servlet-name>
<!–class servlet –>
<servlet-class>filters.learn.ServletForwarderHello</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>servletforwarderhellofilter</servlet-name>
<!–alamat url –>
<url-pattern>/filter</url-pattern>
</servlet-mapping>

<filter>
<filter-name>HelloWorld</filter-name>
<filter-class>filters.learn.HelloWorldFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HelloWorld</filter-name>
<url-pattern>/filter</url-pattern>
</filter-mapping>

…..

Now, let’s try : http://localhost:8080/advance/filter (ceritanya, saya built ke dalam advance.war, kalau ditaruh di bawah direktori ROOT, cukup http://localhost:8080/filter)

Selamat mencoba 🙂
Referensi :
1. http://www.orionserver.com/tutorials/filters/
2. http://www.javapassion.com

Modul MVC Implementation

Posted in Tutorial JSP, Tutorial Servlet by samsonasik on May 3, 2008

Implementasi MVC mggnkn JSTL

Posted in Tutorial JSP, Tutorial Servlet by samsonasik on April 16, 2008

Persiapan :
1. satu gelas kopi.
2. Tomcat yang sudah terkonfigurasi.
3. Copykan library JSTL yaitu standard.jar dan jstl.jar dari tomcat\webapps\examples\WEB-INF\lib ke tomcat\webapps\ROOT\WEB-INF\lib
4. Restart Tomcatnya
5. Let’s Coding…
———-
Siapkan kelas Modelnya (contoh, simpan di WEB-INF\classes\MVCModel)

Code:
package MVCModel;
import java.sql.*;

public class OpenConnect{
private String driver=”com.mysql.jdbc.Driver”;
private Connection con;
private Statement state;
private ResultSet rs;
//konstruktor…
public OpenConnect() throws ClassNotFoundException, SQLException{
Class.forName(driver);
con=DriverManager.getConnection(“jdbc:mysql://localhost/belajarMVC”, “root”,””);
state = con.createStatement();
}
public boolean strSQL(String sql) throws SQLException{
rs = state.executeQuery(sql);
return (rs!=null);
}
public boolean strNext() throws SQLException{
return rs.next();
}
public String getField(String field) throws SQLException{
return rs.getString(field);
}
public void lastrecord() throws SQLException{
rs.last();
}
public int getCount() throws SQLException{
return rs.getRow();
}
public void firstrecord()throws SQLException{
rs.beforeFirst();
}
}

—>compile deh

Selanjutnya, kita buat kelas Controlnya(Contoh, simpan di WEB-INF\classes\MVCControl)

Code:
package MVCControl;
import MVCModel.OpenConnect;

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

public class Controller extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
try{
OpenConnect open = new OpenConnect();
open.strSQL(“select *  from buku”);
//letakkan cursor pada akhir record
open.lastrecord();
//dpt jumlah record
int jml = open.getCount();
//letakkan cursor kembali pada awal record
open.firstrecord();

//set atribut jumlah dengan variable jml
request.setAttribute(“jumlah”,jml);

//deklarasi array field2 tabel
String[] field1 = new String[jml];
String[] field2 = new String[jml];

for (int i=0;i<=jml ;i++ )
{
//next ResultSet
open.strNext();

//isi array ke i dengan field2 yang ada…
field1[i] = open.getField(“kodebuku”);
field2[i] = open.getField(“namabuku”);

//isi atribut…
request.setAttribute(“kodenya”,field1);
request.setAttribute(“namanya”,field2);

}
}catch(Exception e){    }
request.getRequestDispatcher(“MVCView/view.jsp”).forward(request,response);
}
}

–>compile deh
Di sini saya contohkan menggunakan database mysql, ada tabel buku dengan field2nya kodebuku dan namabuku.
————
Nah, sekarang, tingggal ditampilkan di View

Code:
<%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core&#8221; %>
<table border=”1″>
<tr>
<td>No.</td>
<td>Kode Buku</td>
<td>Nama Buku </td>
</tr>
<c:forEach var=”i” begin=”1″ end=”${jumlah}”>
<tr>
<td>${i}</td>
<td>${kodenya[i-1]} </td>
<td>${namanya[i-1]}</td>
</tr>
</c:forEach>
</table>


Oh, ya, jangan lupa setting DD (Deployment Descriptor-nya) di web-xml, –>tambahkan

Code:
<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>MVCControl.Controller</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>/mvc.view</url-pattern>
</servlet-mapping>


—————–
Tinggal testing…

Quote:
http://localhost:8080/mvc.view

Automatic reload Tomcat

Posted in Tutorial JSP, Tutorial Servlet by samsonasik on March 2, 2008

Ketika kita melakukan perubahan pada kelas, baik itu javabean maupun servlet, maka secara default, kita harus restart tomcatnya, menyusahkan sekali bukan? Ketika ada perubahan sedikit saja, untuk melihat hasilnya, kita harus restart Tomcatnya. Nah, untuk penanganan hal ini,kita perlu setting tambahan konfigurasi yang telah ada.
Tambahkan tag berikut pada conf/server.xml

Code:
<Context path=”/ROOT” docBase=”webapps/ROOT” debug=”0″ reloadable=”true” > </Context>

Setelah itu, edit tag yang ada di conf/context.xml

Code:
<Context reloadable=”true” privileged=”true”>

Setelah melakukan perubahan konfigurasi ini, restar Tomcatnya, selamat mencoba 🙂

Panggil useBean dari servlet

Posted in Tutorial JSP, Tutorial Servlet by samsonasik on August 24, 2007

Masih kelanjutan Cara Compile Extends pada UseBean, jika belum dibaca, harap baca dulu sekarang, kita akan membahas tentang cara memanggilnya pada servlet, kita lanjutkan :
—————
Kita buat file servlet kita, misalkan kita taruh di web-inf\classes\panggilaku\servletpanggil.java
—————

Code:
package panggilaku;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import panggilmahasiswa.panggil;public class servletpanggil extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
panggil x=new panggil();
x.setnama(“samsonasik”);
request.setAttribute(“name”,x.getnama());
request.getRequestDispatcher(“/tampilkan.jsp”).forward(request,response);
}
}

——————-
compile
——————-
membuat mapping servlet udah bisa kan? kalau belum silakan baca dulu, …..
sekarang, kita panggil di file jsp kita (/tampilkan.jsp berarti ada di webapps\tampilkan.jsp)

Code:
Halo ${name}

—–
simple kan …
——–

Servlet Mapping pada JSP

Posted in Tutorial JSP, Tutorial Servlet by samsonasik on August 14, 2007

Servlet Mapping dapat dikatakan pemetaan web pada jsp, dengan servlet mapping, kita bisa mengubah alamat situs kita sesuka kita, misalkan http://localhost/aku.aku.kamu?bla-bla-bla&#8230;.yeah…sip
padahal tak ada direktori itu sebenarnya di sisi server, lah, kenapa bisa begitu ? Kita bisa mengaturnya pada web.xml (Deployment Descriptor) kita yang ada di directory, berikut saya lampirkan contohnya … misalkan kita buat file .jsp kita, misal \rahasia\index.jsp

Code:
Halo semua…

nah, sekarang kita buat file servlet untuk halaman pengelabuan : (\web-inf\classes\wordpress\jadul.java)

Code:
package wordpress;import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;public class jadul extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
req.getRequestDispatcher(“/rahasia/index.jsp”).forward(req,resp);
}
}

————-
—-Compile file di atas——
Jika servlet di atas digunakan untuk menangkap parameter, misalkan pd halaman login, untuk securitas,kita bisa gunakan doGet dan doPost pada saat yang bersamaan, yang menjalankan aksi yang sama
——–
Langkah terakhir, kita lakukan servlet-mapping

Code:
<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<web-app xmlns=”http://java.sun.com/xml/ns/javaee&#8221;
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221;
xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&#8221;
version=”2.5″><display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description><!–servlet mappingnya–><servlet>
<servlet-name>servletku</servlet-name>
<servlet-class>wordpress.jadul</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletku</servlet-name>
<url-pattern>/punyaku.go</url-pattern>
</servlet-mapping></web-app>

———– >> Restart Tomcatnya
Nah, sekarang kita bisa panggil website-nya : http://localhost/punyaku.go
——————————-
Selamat mencoba ————-
(( — Untuk konfigurasi servlet, bisa baca Konfigurasi Tomcat –))
——————————-

Contoh penggunaan RequestDispatcher pada MVC

Posted in Tutorial Servlet by samsonasik on June 30, 2007

pada prinsipnya, MVC (Model View Controller) adalah pemisahan antara presentation layer dan logical layer, layer View cuma sebagai tampilan saja, dan syntax, logika, semua ada dalam Model dan controller menjalankannya, berikut contohnya :
———————————————————————
Misalkan kita punya file input panjang dan lebar persegi panjang :
———————————————————————
<form action=”/servlet/input/” method=”Post”>
<!–alamat input menunjukkan alamat kelas servlet kita disimpan–>
<table border=0>
<tr>
<td>Panjang</td>
<td><input type=”text” name=”panjang”></td>
</tr>
<tr>
<td>Lebar</td>
<td><input type=”text” name=”lebar”></td>
</tr>
<tr>
<td></td>
<td><input type=”submit” value=”input”></td>
</tr>
</table>
</form>
———————————————————————–
Sekarang kita buat Modelnya (javabeans)
———————————————————————–
//simpan di dalam folder web-inf/classes/wordpress
package wordpress;
public class modelnya{
int panjang,lebar;
public void setpanjang(int panjang){
this.panjang=panjang;
}
public void setlebar(int lebar){
this.lebar=lebar;
}
public int getpanjang(){return panjang;}
public int getlebar(){return lebar;}
public int getluaspp(){return panjang*lebar;}
}
//compile………………
————————————————————————-
Sekarang kita buat controller-nya, kita simpan di web-inf/classes/
————————————————————————-
import wordpress.modelnya;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class input extends HttpServlet{
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
//instansiasi kelas modelnya
modelnya m=new modelnya();
//ambil atribute
int panjang=Integer.parseInt(request.getParameter(“panjang”));
int lebar=Integer.parseInt(request.getParameter(“lebar”));
//pasang atribute
m.setpanjang(panjang); m.setlebar(lebar);
//isi atribute
request.setAttribute(“panjang”,m.getpanjang());
request.setAttribute(“lebar”,m.getlebar());
request.setAttribute(“luas”,m.getluaspp());

RequestDispatcher disp=request.getRequestDispatcher(“/tampil.jsp”);
disp.forward(request,response);
}}
//Compile…..
————————————————————-
Sekarang kita buat viewnya,
————————————————————-
//tampil.jsp
Panjang = ${panjang}
Lebar = ${lebar}
Luas persegi panjang = ${luas}

Servlet, i’m coming

Posted in Tutorial Servlet by samsonasik on June 9, 2007

kebanyakan dari kita maunya enaknya saja, langsung ke jsp, padahal tidak tahu bahwa embahnya jsp itu servlet, ya java, cure java, murni java,nanti kelasnya dipanggil di browser, ok…, kita mulai program servlet kita. :
/*
*simpan file ini dengan nama HelloWorld.java
*simpan pada WEB-INF\classes
**/
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet{
 public void doGet(HttpServletRequest request,HttpServletResponse response)
  throws ServletException, IOException{
   PrintWriter out=response.getWriter();
    out.println(“Halo dunia….”);
  }
}
/*
*compile file tersebut.
**/
setelah dicompile, kita lakukan, kita ubah configurasi xml-nya, buka WEB-INF\web.xml, lalu tambahkan
…..
<servlet>
  <servlet-name>HelloWorld</servlet-name>
  <servlet-class>HelloWorld</servlet-class>
 </servlet>
…..
Panggil di browser, contoh http://localhost:1234/servlet/HelloWorld/HelloWorld 
kalau di tomcat tidak berhasil, coba pakai orion webserver.