JSP utawa Java Server Pages minangka teknologi Java sing ngidini sampeyan nggawe kaca web dinamis kanggo aplikasi Java. Ing artikel iki, kita bakal ngomong kanthi luwih rinci babagan apa JSP, ngrembug sawetara kemampuan teknologi iki, ndeleng struktur kaca JSP, lan uga nyoba kanggo ndeleng praktis apa Java Server Pages iki. Nanging pisanan, ayo ngomong babagan keuntungan lan pentinge JSP. JSP ngidini pangembang kanggo:
Ayo goleki carane sampeyan bisa ngakses obyek sing didhelikake ing JSP, kalebu paramèter URL. Kanggo nindakake iki, bukak Tomcat lan bukak browser ing kaca http: // localhost: 8080 / Banjur pindhah menyang kaca Conto: Banjur tututi link Conto JSP: Ing kaca conto tututi link Obyek Implisit -> Eksekusi: Iki. kaca sampeyan bisa ndeleng conto nggunakake obyek didhelikake. Ing ngisor iki ana gambar kaca kanthi panjelasan sing rinci: Coba ganti nilai parameter
- nampa data saka kaca web menyang kode Jawa;
- ngirim data saka kode Jawa menyang kaca web;
- nulis kode Jawa langsung nang html (Nanging, sampeyan kudu ora planggaran iki).
- JSP minangka salah sawijining teknologi web Jawa utama;
- JSP digunakake akeh ing akeh perusahaan lan proyek;
- JSP nggabungake seamlessly karo servlets Jawa nang wadhah servlet.
Definisi JSP
Mangkene definisi saka Wikipedia: JSP (JavaServer Pages) yaiku teknologi sing ngidini pangembang web nggawe konten sing nduweni komponen statis lan dinamis. Kaca JSP ngemot rong jinis teks: data sumber statis, sing bisa dadi salah sawijining format teks HTML, SVG, WML, utawa XML, lan unsur JSP, sing nggawe konten dinamis. Kajaba iku, perpustakaan tag JSP bisa digunakake, uga Expression Language (EL) kanggo nyisipake kode Jawa menyang isi statis kaca JSP. Kode kaca JSP diterjemahake menyang kode Java servlet nggunakake kompiler kaca Jasper JSP, banjur dikompilasi menyang Java Virtual Machine (JVM) bytecode. Wadah servlet sing bisa ngeksekusi kaca JSP ditulis nganggo basa Jawa sing bebas platform. Teknologi JSP minangka platform-independen, portabel lan gampang extensible teknologi kanggo ngembangaken aplikasi web.Struktur kaca JSP
Umumé, JSP nuduhake kaca web dinamis sing bagean dinamis digawe nggunakake Jawa, lan bagean statis digawe nggunakake basa markup, paling asring HTML. Kaca kasebut minangka dokumen teks kanthi ekstensi .jsp, ditulis ing salah sawijining basa markup (kayata HTML, SVG, WML lan XML), diselingi karo unsur JSP (utawa tag JSP). Tag kasebut ngemot panggilan menyang kode server (data) lan uga nindakake sawetara petungan. File kasebut diproses ing server, minangka asil kabeh tag JSP diowahi dadi tag html, lan output minangka kaca html biasa. Diagram ing ngisor iki nuduhake diagram struktur kaca JSP lan interaksi karo server. Conto kaca JSP prasaja:<html>
<body>
<p> ${2 + 2} равно 4 </p>
</body>
</html>
Ing conto iki, ekspresi JSP sing ditulis ing basa khusus, Expression Language (EL), "ditempelake" ing kode html . Iki nyedhiyakake mekanisme penting kanggo interaksi antarane lapisan presentasi (kaca web) lan lapisan logika bisnis aplikasi (kode Jawa). Nalika sampeyan bisa ndeleng saka conto, expression JSP terlampir ing kurung kriting, karo tandha dollar anjog - ${...}
. Kabeh sing nang kurung kriting dievaluasi ing server, lan asil saka expression iki diwenehi ing html, ing panggonan ngendi expression JSP Originally ditetepake. Sawise ngolah kabeh tag, kaca bakal katon kaya iki:
<html>
<body>
<p> 4 равно 4 </p>
</body>
</html>
Nginstal lan mbukak wadhah servlet
Wiwit kode JSP diterjemahake menyang kode servlet Jawa, kita kudu njaluk sawetara jinis wadhah servlet nang endi wae supaya kita bisa ngomong babagan cara kerja JSP. Yen ora, tanpa wadhah, JSP ora bakal bisa. Nanging pisanan, ayo goleki definisi wadah servlet. Wadah servlet minangka program sing minangka server sing nyedhiyakake dhukungan sistem kanggo servlet lan njamin siklus uripe sesuai karo aturan sing ditetepake ing spesifikasi. Bisa dianggo minangka server web independen lengkap, dadi panyedhiya kaca kanggo server web liyane, utawa nggabungake menyang server aplikasi Java EE. Salah sawijining wadah servlet sing paling populer yaiku Apache Tomcat. Perlu dicathet menawa Tomcat dudu server aplikasi Java EE sing lengkap. Nanging, kanggo kabutuhan penting servlets lan kaca JSP, server Tomcat luwih saka cukup. Ayo dadi miwiti instalasi. Sampeyan bisa ngundhuh Tomcat saka kaca resmi . Kanggo Windows OS sampeyan bisa nginstal Tomcat kaya ing ngisor iki:-
Unduh 32-bit/64-bit Windows Service Installer.
-
Ayo mbukak file kasebut.
-
Sabanjure, tindakake prosedur instalasi biasanipun:
-
Aja lali mriksa kothak Conto ing jendhela installer sing cocog:
-
lan nemtokake path menyang JRE sing wis diinstal:
-
-
Sawise instalasi, bukak Tomcat lan bukak browser. Pindhah menyang http://localhost:8080/ .
Aplikasi demo. obyek sing didhelikake
Ayo katon ing sawetara fitur JSP ing tumindak. Salah sijine yaiku akses menyang obyek sing didhelikake ( Obyek Implisit ). Iki minangka obyek sing bisa diakses nggunakake Expression Language (EL). Conto obyek kasebut yaiku header HTTP utawa parameter URL. Ayo mbukak (utawa refresh memori kita) apa parameter URL. Conto ing ngisor iki nuduhake URL kanthi paramèter. Parameter kandel: http://example.net/foo/bar ?param1=value1¶m2=value2&a=1&name=Tom Parameter tansah diwiwiti kanthi tandha pitakon (?). Iki diterusake kanthi jeneng parameter, diikuti tandha sing padha - nilai parameter ditemtokake. Bisa uga ana sawetara utawa siji paramèter. Yen ana luwih saka siji, saben pasangan jeneng-nilai dipisahake dening karakter ampersand (&). Ing conto ing ndhuwur, sawetara paramèter lan nilai kasebut ditetepake:Jeneng parameter | Nilai parameter | |
---|---|---|
param1 | nilai1 | |
param2 | nilai2 | |
a | 1 | |
jeneng | Tom |
foo
nggunakake kolom sing cocog ing kaca kasebut, banjur deleng yen nilai parameter iki uga wis diganti ing bilah alamat. Kaca sing disedhiyakake ora nduweni fungsi akeh, nanging minangka referensi sing apik sing bisa dirujuk ing mangsa ngarep nalika sampeyan kudu ngakses obyek sing didhelikake. Kaca iki ngemot dhaptar obyek sing didhelikake sing bisa diakses. Lan ing ngisor iki, ing tabel, dituduhake carane sampeyan bisa ngakses obyek tartamtu.
Fungsi JSP
Saiki ayo bali menyang kaca sadurunge lan deleng kode sumber kaca "obyek sing didhelikake": Iki:<%@page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html>
<head>
<title>JSP 2.0 Expression Language - Implicit Objects</title>
</head>
<body>
<h1>JSP 2.0 Expression Language - Implicit Objects</h1>
<hr>
This example illustrates some of the implicit objects available
in the Expression Language. The following implicit objects are
available (not all illustrated here):
<ul>
<li>pageContext - the PageContext object</li>
<li>pageScope - a Map that maps page-scoped attribute names to
their values</li>
<li>requestScope - a Map that maps request-scoped attribute names
to their values</li>
<li>sessionScope - a Map that maps session-scoped attribute names
to their values</li>
<li>applicationScope - a Map that maps application-scoped attribute
names to their values</li>
<li>param - a Map that maps parameter names to a single String
parameter value</li>
<li>paramValues - a Map that maps parameter names to a String[] of
all values for that parameter</li>
<li>header - a Map that maps header names to a single String
header value</li>
<li>headerValues - a Map that maps header names to a String[] of
all values for that header</li>
<li>initParam - a Map that maps context initialization parameter
names to their String parameter value</li>
<li>cookie - a Map that maps cookie names to a single Cookie object.</li>
</ul>
<blockquote>
<u><b>Change Parameter</b></u>
<form action="implicit-objects.jsp" method="GET">
foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">
<input type="submit">
</form>
<br>
<code>
<table border="1">
<thead>
<td><b>EL Expression</b></td>
<td><b>Result</b></td>
</thead>
<tr>
<td>\${param.foo}</td>
<td>${fn:escapeXml(param["foo"])} </td>
</tr>
<tr>
<td>\${param["foo"]}</td>
<td>${fn:escapeXml(param["foo"])} </td>
</tr>
<tr>
<td>\${header["host"]}</td>
<td>${fn:escapeXml(header["host"])} </td>
</tr>
<tr>
<td>\${header["accept"]}</td>
<td>${fn:escapeXml(header["accept"])} </td>
</tr>
<tr>
<td>\${header["user-agent"]}</td>
<td>${fn:escapeXml(header["user-agent"])} </td>
</tr>
</table>
</code>
</blockquote>
</body>
</html>
Yen sampeyan kenal karo HTML, kode sumber kaca kudu cukup jelas kanggo sampeyan. Pay manungsa waé menyang baris iki:
<tr>
<td>${param.foo}</td>
<td>${fn:escapeXml(param["foo"])} </td>
</tr>
Ing kene kita ndeleng tag html <tr>
lan <td>
. Tag kasebut diterusake karo <td>
tag JSP, dibungkus nganggo kurung kriting ${ }
. Nanging, sok dong mirsani carane nilai parameter URL diumumake foo
:
${fn:escapeXml(param["foo"])}
Nilai kasebut metu liwat nggunakake fungsi JSP fn:escapeXml()
. Fungsi JSP ngemot sawetara fungsi sing bisa digunakake maneh. Ing kasus iki, XML uwal. teknologi JSP menehi sawetara saka sudhut fungsi kanggo milih saka, uga kemampuan kanggo nggawe fungsi dhewe. Kanggo nggunakake fungsi ing JSP, sampeyan kudu ngimpor perpustakaan cocok kang fungsi ditetepake menyang file JSP.
Tag perpustakaan
Ayo goleki baris liyane kode sumber (baris kapindho) ing ndhuwur:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
Iki carane perpustakaan tag diimpor. Sintaksis kasebut intuisi. Kita nemtokake sawetara perkara:
taglib
(tag perpustakaan - tag perpustakaan);url
, ngendi perpustakaan iki dumunung;- ater-ater (ing kasus iki
fn
) liwat kang bakal bisa nelpon fungsi ditetepake ing perpustakaan iki.
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
Minangka karo fn
, notasi c
iku opsional lan umum ditampa. Sebutan iki bisa ditemokake meh ing endi wae ing ngendi perpustakaan iki digunakake. Punika conto fungsi saka perpustakaan inti:
<c:out value = "${'<div>'}"/>
Fungsi iki mung bakal ngasilake tag <div>
. Fungsi iki wis nindakake XML escaping. Fungsi iki penting saka titik keamanan tampilan, amarga dening outputting Nilai saka variabel langsung, liwat ${variable}
, kita mbukak lawang kanggo injeksi script.
JSP Editing
Saiki, kanthi bersenjata kawruh anyar, ayo nyoba ngganti aplikasi demo ing Tomcat. Kanggo nindakake iki, kita bakal nemokake kode sumber kaca iki ing folder ing ngendi wadhah servlet iki diinstal. Berkas iki bisa ditemokake ing alamat ing ngisor iki: ...\Apache Software Foundation\Tomcat 9.0\webapps\examples\jsp\jsp2\el Banjur mbukak file implicit-objects.jsp ing sembarang editor teks Tambah impor perpustakaan inti , banjur gunakake Ayo metu sawetara teks: Saiki ayo refresh kaca obyek sing didhelikake lan deleng owah-owahan sing ditindakake:Asil
Dadi, kita wis nliti teknologi kaya JSP. We rembugan:- apa JSP;
- Struktur halaman JSP;
- prosedur kanggo nginstal lan mbukak wadhah servlet Tomcat;
- aplikasi demo kanggo ngakses obyek sing didhelikake, sing kalebu ing paket distribusi server Tomcat;
- Fungsi JSP lan perpustakaan tag.
Apa sabanjure?
Kanggo ngamanake materi sampeyan bisa:- Baleni kabeh sing diterangake ing artikel iki.
- Coba aplikasi demo liyane sing kalebu karo server Tomcat.
- Tulis aplikasi sampeyan dhewe lan pasang menyang wadhah servlet. Minangka panuntun, sampeyan bisa nggunakake artikel Nggawe proyek web prasaja ing IntelliJ Idea Enterprise. Langkah demi langkah, kanthi gambar.
GO TO FULL VERSION