Mikä on JSP? Johdatus JavaServer Pages

JavaServer Pages (JSP) on Java-standardi-teknologiaa, jonka avulla voit kirjoittaa dynaaminen, data-driven sivuja Java web-sovelluksia. JSP on rakennettu päälle Java Servlet erittely. Nämä kaksi teknologiaa toimivat tyypillisesti yhdessä, erityisesti vanhemmissa Java Web-sovelluksissa., Vuodesta koodaus näkökulmasta, ilmeisin ero niiden välillä on, että servletit voit kirjoittaa Java-koodia ja sitten upottaa client-side markup (kuten HTML) osaksi koodia, kun JSP-voit aloittaa client-side script tai markup, sitten upottaa JSP-tageja liitä sivun Java backend.

JSP on myös läheisesti JSF (JavaServer Faces), Java specification for rakennus MVC (model-view-controller) web-sovelluksia. JSP on verrattain yksinkertaisempaa ja vanhempaa tekniikkaa kuin JSF, joka on standardi Java web puitteet kuten Eclipse Mojarra, MyFaces, ja PrimeFaces., Vaikka se ei ole harvinaista nähdä JSP käyttää frontend vanhemmille JSF-sovelluksia, Facelets on ensisijainen view-teknologia modernin JSF-toteutuksia.

vaikka JSP ei välttämättä ole ensimmäinen valinta dynaamisten verkkosivujen rakentamiseen, kyseessä on core Java-verkkotekniikka. JSP-sivut ovat suhteellisen nopeita ja helppoja rakentaa, ja ne toimivat saumattomasti Java Servlet-palvelinten kanssa Tomcatin kaltaisessa servlet-säiliössä. Kohtaat JSP vanhemmissa Java Web-sovelluksissa, ja ajoittain saatat löytää hyödyllistä rakentaa yksinkertaisia, dynaamisia Java-sivuja., Java-kehittäjänä JSP: n pitäisi olla ainakin sinulle tuttu.

Tämä artikkeli on nopea käyttöönotto JavaServer Pages, mukaan lukien JSP Standard Tag Library (JSTL). Esimerkit näyttävät, miten voit kirjoittaa yksinkertaisen HTML-sivun, upottaa JSP-tunnisteet yhteyden Java servletiin ja ajaa sivun servlet-säiliössä.

Katso tämän sarjan aiemmat artikkelit saadaksesi lisätietoa Java servlets-ja JavaServer-kasvoista.

kirjoitetaan JSP-sivuja

yksinkertainen JSP-sivu (.jsp) koostuu JSP-tageilla upotetusta HTML-markupista., Kun tiedostoa käsitellään palvelimella, HTML käännetään sovellusnäkymäksi, verkkosivuksi. Sulautettuja JSP-tunnisteita käytetään palvelimen sivukoodin ja datan soittamiseen. Kuvassa 1 oleva kaavio näyttää HTML: n, JSP: n ja web-sovelluspalvelimen välisen vuorovaikutuksen.

Matthew Tyson

Kuva 1. JSP overview

listaus 1 näyttää yksinkertaisen JSP-sivun.

listaus 1., Yksinkertainen JSP-sivu

<html> <body> <p>${2 * 2} should equal 4</p> </body></html>

Listaus 1, näet lohko HTML, joka sisältää JSP-lauseketta, joka on ohje Java server kirjoitettu käyttämällä Expression Language (EL). Ilmaus ”${2 * 2}” ja ”${}” on JSP-syntaksia interpoloimalla koodi HTML. Toteutettaessa JSP tuottaa tulokset suorittaa mitä on sisällä ilmaisun. Tällöin lähtö on numero 4.

JSP servlet-säiliössä

JSP-sivut on sijoitettava Java servlet-säiliöön., Jotta käyttöön Java web-sovellus perustuu JSP ja servlets, paketoit .jsp-tiedostot, Java-koodi ja sovelluksen metatiedot a: ssa .sotatiedosto, joka on yksinkertainen.zip-tiedosto, jossa on tavanomainen rakenne web-sovelluksiin.

Kun olet ladannut JSP omaan servlet säiliön, se on käännetty servlet. Jsp ja Java servletit jakavat samanlaisia ominaisuuksia, mukaan lukien kyky käyttää ja vastata pyyntöön esineitä. Apache Tomcat 9x on Servlet 4.0-ja JSP 2.3-eritelmien vertailutoteutus. (Huomaa, että päivitykset välillä JSP 2.,2 ja 2,3 ovat suhteellisen pieniä.)

Esimerkki sovellus JSP

käytämme esimerkkinä sovelluksen Tomcat, joilla pääset alkuun kanssa JavaServer Pages. Jos et ole jo asentanut Tomcatia, siirry Tomcat-lataussivulle ja valitse Tomcat-asennus käyttöjärjestelmääsi varten. Tätä kirjoitettaessa, Tomcat 9 on nykyinen julkaisu, yhteensopiva Servlet 4.0 ja JSP-2.3.

Voit asentaa Tomcat Windows-palvelu, tai suorittaa sen komentoriviltä /bin/catalina.sh start tai /bin/catalina.bat., Joko niin, käynnistä Tomcat, sitten mennä localhost:8080 nähdä Tomcat tervetuloa-sivu Kuvassa 2.

Matthew Tyson

Kuva 2. Tomcat tervetuloa-sivu

Implisiittinen Esineitä Tomcat

Tomcat tervetuloa-sivun, napsauta Esimerkkejä-linkkiä ja napsauta sitten JSP-Esimerkkejä.

Seuraava, avaa implisiittiset objektit Suorita web-sovellus. Kuvassa 3 esitetään tämän sovelluksen tuotos. Tutki tätä ulostuloa hetki.

Matthew Tyson

Kuva 3., Näyte JSP-lähtö

Pyynnön parametrit

Implisiittiset objektit ovat sisäänrakennettu esineitä pääsee JSP-sivun. Web-sivun kehittäjänä käytät näitä objekteja luodaksesi pääsyn sellaisiin asioihin kuin pyyntöparametrit, jotka ovat selaimesta lähetettyjä tietoja HTTP-pyyntöä annettaessa. Harkitse selaimen URL Implisiittinen Esineitä:

This example is a very simple introduction to using JSP tags to access server-side request parameters. In this case, the JSP page uses the built-in (implicit) object called param to access the web application’s request parameters. The param object is available inside the JSP expression syntax that you saw in Listing 1.

In that example, we used an expression to do some math: ${2 * 2}, which output 4.

In this example, the expression is used to access an object and a field on that object: ${param.foo}.

JSP in a web application

On the Implicit Objects page, click the back arrow, followed by the Source link. This will lead you to the JSP code for the Implicit Objects web app, which is shown in Listing 2.

Listing 2. JSP code for the Implicit Objects web app

JSP functions

A JSP function encapsulates a chunk of reusable functionality. In this case, the functionality is to escape XML. JSP offers a variety of functions, and you can also create functions yourself. To use a function, you import its library into your JSP page, then call the function.

In Listing 2, the escapeXML function is included with the line:

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

syntaksi on melko selvä: se tuo tarvittavat toiminnot ja määrittää ne etuliite (tässä tapauksessa ”fn”), jota voidaan käyttää kaikki seuraavat lausekkeet.,

JSP Standard Tag Library (JSTL)

import line in Listing 2 puhelut taglib, joka on lyhyen tag library, tai (tässä tapauksessa) JSP Standard Tag Library (JSTL). Tag kirjastot määrittelevät uudelleenkäytettäviä bittiä toiminnallisuutta JSP. JSTL on standardi tag library, joka sisältää kokoelman taglibs että aluksen jokaisen servlet ja JSP täytäntöönpanoa, mukaan lukien Tomcat.

”toiminnot” kirjasto on vain yksi taglibs mukana JSTL., Toinen yleinen taglib on core kirjasto, jossa voit tuoda soittamalla:

<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>

Pidä ”fn”, ”c” – nimitys on perinteiset,, ja näet sen kaikkialla eniten JSP-sivuja.

Turvaaminen JSP sivut

esimerkki tunnisteen core library on,

<c:out value = "${'<div>'}"/> 

joka tulostaa <div> tag XML jo karannut. Tämä toiminto on tärkeä, koska syöttöä sisältöä suoraan web-sivun kautta ${variable} avaa oven script-injektio-iskut., Tätä yksinkertaista toimintoa käytetään suojaamaan verkkosivuja tällaisilta hyökkäyksiltä.

core library sisältää myös erilaisia tageja iterointia ja virtauksen ohjaus (JOS/MUU käsittely).

Soittamalla taglibs JSP-sivut

Nyt, että sinulla on kahva JSP perusteet, tehdään muutos esimerkki sovellus. Aloita etsimällä implisiittinen objekti-sovellus Tomcat-asennuksestasi. Polku on: apache-tomcat-8.5.33/webapps/examples/jsp/jsp2/el.,

Avaa tiedosto ja etsi functions sisältää:

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

juuri tämän viivan alapuolelle, lisää uusi rivi:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

Hit Paluu ja lisää uusi rivi:

<c:out value = "${'This is a test of the JSTL Core Library'}"/>

Nyt lataa sivu osoitteessa http://localhost:8080/examples/jsp/jsp2/el/implicit-objects.jsp?foo=bar.

sinun pitäisi nähdä päivityksesi heijastuvan ulostuloon.

JSP-verkkosovelluksen asettelu

Tomcat noudattaa Java servlet-ja JSP-sivujen standardia asettelua., Yleinen rakenne on sovelluksen nimellä kulkeva kansio, joka on sijoitettu Tomcatin /webapps hakemistoon.

Implisiittinen Esineitä app, sovellus on /examples. Avaa se kansio paljastaa kolme tärkeää lapset: /WEB-INF hakemisto index.html tiedoston, ja joukko muita hakemistoja.

WEB-INF hakemisto sisältää metadataa, joka ilmoittaa, Tomcat, miten käyttää app.

loput sisällöstä, mukaan lukien indeksi.,html, on suoraan saatavilla, aivan kuten se olisi tyypillinen web-palvelin. Samoin implicit-objects.jsp on saatavilla tarkastella, ja on automaattisesti käsitellä kuin JSP-sivun (ei HTML-sivu), jonka palvelin.

Pyyntö-vastaus-arkkitehtuuri

tyypillinen servletit/JSP-sovellus, servletit vastaanottaa pyyntöjä ja vuorovaikutuksessa palvelimen puolella komponentteja ja palveluja (kuten tietokanta) täyttää ne. Kun pyyntö on käsitelty, se toimitetaan JSP-sivulle, jossa esitetään vastaus.,

servlet käyttää seuraavaa syntaksia, kun lähetät pyynnön vastaus JSP-sivu:

request.getRequestDispatcher("path/to/jsp.jsp").forward(req,res);

Mitä tietoja servlet on asetettu eri JSP laajuuksia on saatavilla JSP. Soveltamisala on vain tietyn kohteen elämän kirjo. Pyyntö – ja vastauskohteita pyydetään scoped, eli ne elävät pyynnön keston ajan. Muut soveltamisalat ovat sivun soveltamisala (elävä niin kauan kuin JSP-sivu ei) ja session soveltamisala (päättyy kun käyttäjä päättyy tietyn session).,

Johtopäätös

JavaServer Pages on tunnettu ja monipuolinen teknologian kehittämiseen Java web-sovellus näkemyksiä. Yhdessä servlets, JSP sivut ovat erittäin tehokkaita, ja tarjoavat pääsyn koko valikoima Java ominaisuuksia. Vaikka JSP ei ehkä ole ensimmäinen valinta nykyaikaisen Java-verkkosovelluksen kehittämiseksi, kohtaat JSP-sivuja legacy-sovelluksissa. Se on myös hyvä valinta yksinkertaisempia sovelluksia, joissa haluat nopeasti liitä HTML-frontend server-side Java-koodia., Jstl-tunnisteet pystyvät käsittelemään useimpia verkkosovellusvaatimuksia, ja kolmannen osapuolen kirjastot laajentavat tätä toiminnallisuutta tiettyihin teknologioihin ja käyttötapauksiin.

Share

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *