Saat menjelajahi web, sering kali kita perlu mengirimkan informasi ke server dan membiarkan program latar belakang memprosesnya. Browser menggunakan metode GET dan POST untuk mengirimkan data ke server.
Metode GET menambahkan informasi penyandian yang diminta setelah URL, dan URL serta informasi penyandian dipisahkan dengan simbol "?". Seperti yang ditunjukkan di bawah ini:
//www.w3cschool.cn/hello?key1=value1&key2=value2
Metode GET adalah metode default bagi browser untuk meneruskan parameter. Disarankan untuk tidak menggunakan metode GET untuk beberapa informasi sensitif, seperti kata sandi.
Saat menggunakan get, ukuran data yang dikirimkan dibatasi (perhatikan bahwa jumlah parameter tidak dibatasi), dan maksimumnya adalah 1024 byte.
Kami dapat meneruskan beberapa informasi sensitif, seperti kata sandi, melalui metode POST, dan data pengiriman kiriman bersifat implisit.
Data yang dikirimkan melalui POST tidak terlihat, dan GET diteruskan di URL (Anda dapat melihat di bilah alamat browser Anda).
JSP menggunakan getParameter() untuk mendapatkan parameter yang diteruskan, dan metode getInputStream() digunakan untuk menangani permintaan aliran data biner klien.
getParameter(): Gunakan metode request.getParameter() untuk mendapatkan nilai parameter formulir.
getParameterValues(): Dapatkan data seperti kelas kotak centang (nama yang sama, tetapi beberapa nilai). Menerima variabel array, seperti tipe kotak centang
getParameterNames(): Metode ini bisa mendapatkan nama semua variabel.
getInputStream(): Panggil metode ini untuk membaca aliran data biner dari klien.
Berikut ini adalah URL sederhana dan menggunakan metode GET untuk meneruskan parameter di URL:
http://localhost:8080/main.jsp?first_name=ZARA&last_name=ALI
Berikut ini adalah program JSP file main.jsp untuk mengolah data form yang dikirimkan oleh klien. Kita menggunakan metode getParameter() untuk mendapatkan data yang dikirimkan:
<html><head><title>Menggunakan Metode GET untuk Membaca Data Formulir</title></head><body><center><h1>Menggunakan Metode GET untuk Membaca Data Formulir</h1><ul><li> <p><b>Nama Depan:</b> <%= request.getParameter("first_name")%></p></li><li><p><b>Nama Belakang:</b> <%= permintaan.getParameter("nama_belakang")%></p></li></ul></body></html>
Selanjutnya kita akses http://localhost:8080/main.jsp?first_name=ZARA&last_name=ALI melalui browser.
Menggunakan Metode GET untuk Membaca Data FormulirNama Depan: ZARALNama Belakang: ALI
Berikut ini adalah form HTML sederhana yang mengirimkan data klien ke file main.jsp melalui metode GET:
<html><body><form action="main.jsp" method="GET">Nama Depan: <input type="text" name="first_name"><br />Nama Belakang: <input type="text " nama="nama_akhir" /><input type="kirim" value="Kirim" /></form></body></html>
Simpan kode HTML di atas ke dalam file Hello.htm. Tempatkan file ini di direktori /webapps/ROOT. Dengan mengakses http://localhost:8080/Hello.htm , antarmuka keluarannya adalah sebagai berikut:
Isi informasi pada formulir "Nama Depan" dan "Nama Belakang" dan klik tombol "Kirim", maka akan muncul hasilnya.
Selanjutnya mari kita gunakan metode POST untuk mentransfer data formulir dan memodifikasi kode file main.jsp dan Hello.htm sebagai berikut:
kode file main.jsp:
<html><head><title>Menggunakan Metode GET dan POST untuk Membaca Data Formulir</title></head><body><center><h1>Menggunakan Metode GET untuk Membaca Data Formulir</h1><ul>< li><p><b>Nama Depan:</b> <%= request.getParameter("nama_depan")%></p></li><li><p><b>Nama Belakang:</ b> <%= permintaan.getParameter("nama_belakang")%></p></li></ul></body></html>
Berikut ini adalah kode Hello.htm yang telah dimodifikasi:
<html><body><form action="main.jsp" method="POST">Nama Depan: <input type="text" name="first_name"><br />Nama Belakang: <input type="text " nama="nama_akhir" /><input type="kirim" value="Kirim" /></form></body></html>
Akses http://localhost:8080/Hello.htm melalui browser, outputnya seperti berikut:
Isi informasi pada formulir "Nama Depan" dan "Nama Belakang" dan klik tombol "Kirim", maka akan muncul hasilnya.
Kotak centang kotak centang dapat meneruskan satu atau bahkan beberapa data.
Berikut ini adalah kode HTML sederhana dan simpan kode tersebut pada file CheckBox.htm:
<html><body><form action="main.jsp" method="POST" target="_blank"><input type="checkbox" name="maths" dicentang="dicentang" /> Matematika<input type= "checkbox" name="physics" /> Fisika<input type="checkbox" name="chemistry"checked="checked" /> Kimia<input type="submit" value="Pilih Subjek" /></form> </tubuh></html>
Berikut kode file main.jsp yang digunakan untuk mengolah data check box:
<html><head><title>Membaca Data Kotak Centang</title></head><body><center><h1>Membaca Data Kotak Centang</h1><ul><li><p><b>Bendera Matematika :</b> <%= request.getParameter("maths")%></p></li><li><p><b>Bendera Fisika:</b> <%= request.getParameter("physics")%></p></li><li><p><b>Bendera Kimia:</b> <%= request.getParameter("chemistry")%></p ></li></ul></tubuh></html>
Hasil keluaran dari contoh di atas adalah:
Di bawah ini kita akan menggunakan getParameterNames() HttpServletRequest untuk membaca semua parameter formulir yang tersedia. Metode ini dapat memperoleh nama semua variabel.
Setelah kita memiliki Enumerasi, kita dapat memanggil metode hasMoreElements() untuk menentukan kapan harus berhenti menggunakannya dan metode nextElement() untuk mendapatkan nama setiap parameter.
<%@ page import="java.io.*,java.util.*" %><html><head><title>Contoh Permintaan Header HTTP</title></head><body><center><h2 >Contoh Permintaan Header HTTP</h2><table align="center"><tr bgcolor="#949494"><th>Nama Param</th><th>Nilai Param</th></tr ><% Nama parameter enumerasi = permintaan.getParameterNames(); while(paramNames.hasMoreElements()) { String paramName = (String)paramNames.nextElement(); keluar.print("<tr><td>" + paramName + "</td>n "); String paramValue = permintaan.getParameter(paramName); out.println("<td> " + paramValue + "</td></tr>n"); }%></tabel></pusat></tubuh></html>
Berikut isi file Hello.htm:
<html><body><form action="main.jsp" method="POST" target="_blank"><input type="checkbox" name="maths" dicentang="dicentang" /> Matematika<input type= "checkbox" name="physics" /> Fisika<input type="checkbox" name="chemistry" dicentang="diperiksa" /> Kimia<input type="submit" value="Pilih Subjek" /></form> </tubuh></html>
Sekarang kita mengakses file Hello.htm melalui browser dan mengirimkan datanya sebagai berikut:
Anda dapat mencoba menggunakan kode JSP di atas untuk membaca objek lain, seperti kotak teks, tombol radio atau kotak drop-down, dan bentuk data lainnya.