Jakartas serversidor - Jakarta Server Pages
| Filnamnstillägg |
.jsp, .jspx, .jspf
|
|---|---|
| Internetmedietyp |
ansökan/jsp |
| Utvecklad av | Eclipse Foundation |
| Initial release | 1999 |
| Senaste släppningen |
3.0 (21 oktober 2020 ) |
| Typ av format | Dynamisk webbsida |
| Standard | JSR 245 |
| Öppet format ? | Ja |
| Hemsida |
projects |
Jakarta Server Pages ( JSP ; tidigare JavaServer Pages) är en samling tekniker som hjälper programutvecklare att skapa dynamiskt genererade webbsidor baserade på HTML , XML , SOAP eller andra dokumenttyper. JSP, som släpptes 1999 av Sun Microsystems , liknar PHP och ASP , men använder programmeringsspråket Java .
För att distribuera och köra Jakarta Server Pages krävs en kompatibel webbserver med en servletbehållare , till exempel Apache Tomcat eller Jetty .
Översikt
Arkitektoniskt kan JSP ses som en abstraktion på hög nivå av Java-servlets . JSP översätts till servlets vid körning, därför är JSP en Servlet; varje JSP-servlet cachelagras och återanvänds tills den ursprungliga JSPen har ändrats.
Jakarta Server Pages kan användas oberoende eller som vykomponent i en modell-view-controller- design på serversidan , normalt med JavaBeans som modell och Java servlets (eller ett ramverk som Apache Struts ) som controller. Detta är en typ av modell 2 -arkitektur.
JSP gör att Java -kod och vissa fördefinierade åtgärder kan sammanfogas med statiskt webbmarkeringsinnehåll, till exempel HTML. Den resulterande sidan sammanställs och körs på servern för att leverera ett dokument. De sammanställda sidorna, liksom alla beroende Java -bibliotek, innehåller Java -bytekod snarare än maskinkod . Liksom alla andra .jar- eller Java-program måste koden köras i en virtuell Java-maskin (JVM) som interagerar med serverns värdoperativsystem för att ge en abstrakt, plattformneutral miljö.
JSP används vanligtvis för att leverera HTML- och XML -dokument, men genom att använda OutputStream kan de också leverera andra typer av data.
Den Web container skapar JSP implicita föremål som begäran, svar, session, ansökan, config, sida, pageContext, ut och undantag. JSP Engine skapar dessa objekt under översättningsfasen.
Syntax
JSP -sidor använder flera avgränsare för skriptfunktioner . Det mest grundläggande är <% ... %>, som omsluter ett JSP -scriptlet. Ett scriptlet är ett fragment av Java -kod som körs när användaren begär sidan. Andra vanliga avgränsare inkluderar <%= ... %>för uttryck, där scriptlet och avgränsare ersätts med resultatet av utvärdering av uttrycket, och direktiv , betecknade med <%@ ... %>.
Java-kod krävs inte för att vara komplett eller fristående i ett enda scriptletblock. Det kan spridas över markeringsinnehåll, förutsatt att sidan som helhet är syntaktiskt korrekt. Till exempel måste alla Java if/for/while -block som öppnas i ett scriptlet stängas korrekt i ett senare scriptlet för att sidan ska kunna kompileras. Detta gör att kod kan blandas och kan leda till dålig programmering.
Innehåll som faller in i ett delat block av Java -kod (som spänner över flera scriptletar) omfattas av den koden. Innehåll i ett if -block visas bara i utdata när if -villkoret utvärderas till sant. På samma sätt kan innehåll i en loopkonstruktion visas flera gånger i utdata, beroende på hur många gånger loop -kroppen körs.
Följande skulle vara giltigt för loop på en JSP -sida:
<p>Counting to three:</p>
<% for (int i=1; i<4; i++) { %>
<p>This number is <%= i %>.</p>
<% } %>
<p>OK.</p>
Utmatningen som visas i användarens webbläsare skulle vara:
Counting to three: This number is 1. This number is 2. This number is 3. OK.
Uttrycksspråk
Version 2.0 av JSP -specifikationen lade till stöd för Expression Language (EL), som används för att komma åt data och funktioner i Java -objekt. I JSP 2.1 lades den in i Unified Expression Language , som också används i JavaServer Faces .
Ett exempel på EL -syntax :
Värdet på "variabel" i objektet "javabean" är $ {javabean.variable}.
Ytterligare taggar
JSP-syntaxen lägger till ytterligare taggar, kallade JSP-åtgärder, för att åberopa inbyggd funktionalitet. Dessutom möjliggör tekniken skapande av anpassade JSP -taggbibliotek som fungerar som tillägg till standard JSP -syntax. Ett sådant bibliotek är JSTL , med stöd för vanliga uppgifter som iteration och villkor (motsvarande "för" och "om" -uttalanden i Java.)
Kompilator
En JavaServer Pages -kompilator är ett program som analyserar JSP och omvandlar dem till körbara Java Servlets . Ett program av denna typ är vanligtvis inbäddat i applikationsservern och körs automatiskt första gången en JSP öppnas, men sidor kan också förkompileras för bättre prestanda eller sammanställas som en del av byggprocessen för att testa för fel.
Vissa JSP behållare stöder konfigurera hur ofta kontroller container JSP -fil tidsstämplar för att se om sidan har ändrats. Vanligtvis skulle denna tidsstämpel vara inställd på ett kort intervall (kanske sekunder) under mjukvaruutveckling och ett längre intervall (kanske minuter, eller till och med aldrig) för en distribuerad webbapplikation .
Kritik
År 2000 beskrev Jason Hunter, författare till "Java Servlet Programming" ett antal "problem" med JavaServer Pages. Ändå skrev han att även om JSP kanske inte är den "bästa lösningen för Java-plattformen" var det "Java-lösningen som är mest lik den icke-Java-lösningen", med vilket han menade Microsofts Active Server Pages . Senare lade han till en lapp på sin webbplats där det stod att JSP hade förbättrats sedan 2000, men också nämnt sina konkurrenter, Apache Velocity and Tea (mallspråk). Idag finns det flera alternativ och ett antal JSP-orienterade sidor i större webbappar anses vara teknisk skuld.
Se även
Servlet behållare
- Apache Tomcat
- Apache TomEE
- Brygga (webbserver)
- Glasfisk
- Oracle iPlanet webbserver
- WebSphere Application Server
Java-baserade mallalternativ
Referenser
Vidare läsning
- Bergsten, Hans (2003). JavaServer Pages (3: e upplagan). O'Reilly Media . ISBN 978-0-596-00563-4.
- Brown, Simon; Dalton, Sam; Jepp, Daniel; Johnson, Dave; Li, sjung; Raible, Matt. Pro JSP 2 . Apress . ISBN 1-59059-513-0.
- Hanna, Phil (2003). JSP 2.0 - Den fullständiga referensen . McGraw-Hill Osborne Media . ISBN 978-0-07-222437-5.
- Sierra, Kathy; Bates, Bert; Basham, Bryan. Head First Servlets & JSP . O'Reilly Media . ISBN 978-0-596-00540-5.
externa länkar
-
Officiell hemsida
- JSP v2.0 Syntaxreferens
- Jakarta Server Pages Specification, Version 3.0
- JavaServer -sidor
- JavaServer Pages (JSP) och JSTL
- JavaServer Pages v2.0 Syntaxkort ( html )
- Officiell handledning: Java EE 5 -handledning, kapitel 5, JavaServer Pages Technology
- Servlet History
- konfigurera JSP -miljön JSP Senaste
- web-mode.el, emacs huvudläge för redigering av jsp-mallar