Klassen Design Patterns Appendices |
JSP staat voor javaserver pages: dynamisch gegenereerde webpagina's (zoals ook php).
Schrödinger
Schrödinger is een gratis JSP-server.
Installeer Schrödinger
Schrödinger kan je gratis en zonder registratie verkrijgen via de site van micromata
Maak een snelkoppeling
Hiervoor kunnen we een batch file maken (start.bat) met volgende code:
set path=%path%;C:\program files\Java\jdk1.5.0_11\bin
java -Djsdk.home="C:\program files\Java\jdk1.5.0_11\bin" -jar Schroedinger.jar
Start Schrödinger hiermee op.
Kies je webmap
Kies via "file" > "deploy directory" een map die je wil laten verschijnen. (vb 'web') Nu kan onderstaande .jsp-pagina (test.jsp in die directory) al getoond worden in de browser via de url "http://localhost/test.jsp".
<% out.print("test!"); %>
Dynamische code genereren
Op onderstaande wijze kan je automatisch html-code aanmaken (tel.jsp):
<%
for (int i=0; i < 10; i++)
out.print(i + "<br>\n");
%>
Een tab ("\t") of newline ("\n") kunnen toegevoegd worden om de gegenereerde code overzichtelijker te maken, maar worden niet weergegeven door de
browser.
Eigen functies maken
Maak en compileer (bvb. met Dr. Java) een klasse met methoden (bvb. rb.java).
package mypackage;
public class rb {
public static void main (String [] args) {
System.out.println(datum("1946-06-01", 'E'));
System.out.println(datum("01-06-1946", 'U'));
}
public static String datum (String t, char c){
String s = "";
if ('E' == c)
s=t.substring(8,10)+"-"+t.substring(5,7)+"-"+t.substring(0,4);
else
s=t.substring(6,10)+"-"+t.substring(3,5)+"-"+t.substring(0,2);
return s;
}
}
De gecompileerde functie (rb.class) kan je pas gebruiken na hem in een .jar-bestand gezet te hebben.
.jar
Om een .jar-bestand te maken gaan we als volgt te werk (via de DOS-commandoregel):
set path=%path%;C:\program files\Java\jdk1.5.0_11\bin
Ga naar de gewenste directory bvb.
c:
cd Java\web
Ga naar de submap WEB-INF\lib
cd WEB-INF\lib
Maak een .jar van je gecompileerde functie.
jar cvf rb.jar mypackage\rb.class
Opgelet: Als dit niet gelukt is, kan het zijn dat ook Schrödinger niet meer werkt; dan wis je best het zopas aangemaakte bestand (rb.jar), en werkt
alles weer als voordien.
Eigen functie gebruiken
Maak onderstaande .jsp-pagina.
<%@ page import = "mypackage.rb"%>
<%
out.print("<html>\n<head>\n</head>\n<body>\n");
out.print("test! " + rb.datum("01-06-1946", 'U') + " " + rb.datum("1946-07-02", 'E'));
out.print("\n</body>\n</html>\n");
%>
Bovenstaande .jsp-pagina maakt onderstaande code:
<html>
<head>
</head>
<body>
test! 1946-06-01 02-07-1946
</body>
</html>
Die door de browser weergegeven wordt als:
test! 1946-06-01 02-07-1946
Opmerking: Als je de .jsp aanmaakt met notepad (kladblok), dan kan het zijn dat er ook vreemde tekens verschijnen voor je gegenereerde tekst (""); die
kan je laten verdwijnen door het bestand in ansi codering op te slaan of een andere editor (bvb. Dr. Java) hiervoor te gebruiken.