programmera.net -> jsp -> normal     för utskrift      info@programmera.net

JSP

1. Vad är JSP?
2. Elementen i JSP
3. Ett exempel
4. Direktiv
5. XML-märken

1. Vad är JSP?

JSP (Java Server Pages) är ett "enklare" sätt att skriva servlets. När en JSP-sida anropas första gången omvandlas den till en servlet som sedan kompileras. Själva översättningen kallas för tolkning och är det första steget i JSP-sidans livscykel som beskrivs nedan:

  1. Tolkning: JSP-tolken översätter JSP-sidan till servletkod. Utförs bara första gången JSP-sidan anropas.
  2. Servleten kompileras till en klass. Utförs bara första gången JSP-sidan anropas.
  3. Klassen laddas.
  4. En instans av klassen skapas.
  5. jspInit() anropas.
  6. _jspService() anropas. Objekten request and response skickas med till _jspService.
  7. jspDestroy() anropas.
Eftersom steg 1 och 2 bara utförs första gången JSP-sidan anropas är svarstiden långsam första gången. Sedan är JSP-sidan en servlet och svarar lika snabbt som vilken servlet som helst.

2. Elementen i JSP

JSP-sidan består av HTML med inslag av javakod, nedan listas de olika element som används för att inkludera javakod:

Namn Syntax Beskrivning
Kommentar  <%--En kommentar--%>  Här skriver man kommetarer som beskriver programmet för programmeraren.
Deklaration  <%! kod %>  Här deklarerar man variabler och funktioner.
Scriptlet  <% kod %>  Koden evalueras. Koden kan bestå av flera satser och varje sats ska avslutas med ett semikolon (;).
Uttryck  <%=sats %>  Satsen evalueras och skrivs till HTML-sidan på den plats där uttrycket förekommer. Satsen ska inte avslutas med ett semikolon (;).
Direktiv  <%@ dir att="val" %>  Med ett direktiv kan man göra olika inställningar för JSP-sidan.
XML-märke  <lib:tag att="val" />  Märken tag hämtas från ett märkesbibliotek lib. Alla märkesbibliotek förutom biblioteket jsp måste deklareras innan de kan användas.

3. Ett exempel

Nedan ges ett exempel på hur man använder kommentarer, deklarationer, scriptlets och uttryck:
<%-- This page is just for testing, 
	do what you like with it. --%>
<%! 
private int counter=0;
public void multiply(int i){
  counter*=i;
}
%>
<HTML>
<BODY>
<H1>Första JSP-sidan</H1>
counter=<%= counter %>
<BR/><% counter+=2; out.print("counter="+counter); %>
<% multiply(5); %>
<BR/>counter=<%= counter %>
</BODY>
</HTML>
Spara programmet med sökvägen CATALINA_HOME/webapps/programmera/testjsp.jsp. Sidan genererar följande utskrift:

4. Direktiv

Direktiven har som syfte att göra speciella inställningar för JSP-sidan. Det finns tre typer av direktiv:

  • page: Gör inställningar för sidan.
  • include: Inkluderar en fil i sidan.
  • taglib: Inkluderar ett märkesbibliotek, så att det sedan kan användas i sidan.
Läs mer om direktiv på sidan  direktiv .

5. XML-märken

På denna webbplats beskrivs:

  • Hur man skapar och använder märkesbibliotek beskrivs på sidan  märkesbibliotek .
  • Märkesbiblioteket jsp. Detta bibliotek behöver inte inkluderas med ett direktiv, det är alltid aktivt. Med detta bibliotek kan man:
    • Skapa olika JSP-element, scriptlets, uttryck, osv, på ett alternativt sätt.
    • useBean: Inkluderar en böna i sidan.
    • include: Inkluderar en sida.
    • forward: Gör en omdirigering till en annan webbsida.
    • plugin: Inkluderar en resurs i sidan, t.ex. en applet.
    Hur man använder märkesbiblioteket jsp beskrivs på sidan  JSP-märken .