JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

Relaterede dokumenter
Servlets, Tomcat & BlueJ

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Serialization i Java

Programmering I Java/C#

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

Dynamiske Billeder, Image Map & XY coordinater. ASP.NET og Access Databasen.

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU semester 05.januar 2007

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

Arkitektur for begyndere

Web 2.0. World Wide Web (www)

PHP Crash course. Databaser

Umbraco installationsvejledning

Sådan installeres og teste WordPress på en lokal server

Loginsystem (med MySQL)

Afsending af s vha. ASP

Opdatering af ISOWARE til version 6.1.0

Web- og serverprogrammering

Opdatering af ISOWARE til version 8.0.0

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

Brugermanual. PoP3 og Outlook Express Webmail Udarbejdet af IT-afdelingen 2005

Guide - Sådan opretter du en backup

Byg web sider. Introduktion:

Web- og serverprogrammering

Installation af Elektronisk APV på flere PC er

Begrynder til at lave log ind system

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

Sektornet VPN Installationsvejledning Windows Vista/7

Billion. Hotfix for BIPAC 5200G Serien & Windows XP Service Pack 3. Revision 1.0DK. Dato: 22 maj, Side 1 af 1. Revision: V1.

xgalleri Mulige filtyper Installation web-version

GUIDE TIL CLOUD DRIVE

Indhold VDI... 1 Installer fra UCL programmer... 2 Installer fra web... 7 Kør fra browser... 16

Manual Serif Web & Tableau Public

Vejledning til Teknisk opsætning

Ratingsystem i PHP og MySQL

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Generelt gælder det at SQL serveren skal understøtte SQL Authentication (Mixed mode) da SIMS Serveren kommunikerer gennem en SQL bruger.

Kom godt i gang med I-bogen

Java web applikationer med Tomcat

QUICKGUIDE TIL XMEDIA

Web sider. Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det?

Vejledning. Opsætning af Trio Web Vers 2.0 feb. 2010

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Du kan også bruge Dropbox sammen med din Iphone, Android telefon eller anden smartphone.

PHP Quick Teknisk Ordbog

SIDEN PÅ WORDPRESS.COM

MS Visual Studio Basic En kort vejledning

Opsætning af forbindelse til Danmarks Statistik

OrCAD Capture TCL IDE med Eclipse

Guide til Umbraco CMS

Zotero er et smart værktøj til at få styr på dine referencer og litteraturlister. Zotero er gratis og på dansk.

Undervisning Version 1.0 redigering af billeder til hjemmesiden

Tagwall med Php & MySQL

PC - installation af Maple 18 med GYM-pakken

KOM GODT I GANG MED. Desktop Mendeley Menuen er simpel og intuitiv. I Menuen Tools finder du web importer og MS Word plugin

Kommende nyheder i WinKompas

Sådan redigerer du en hjemmeside i Umbraco

Opret ODBC datakilde Vejledning

Tech College Aalborg. ASP.NET Hjemmeside. Projekt Smart Zenior Home - Guide til ASP.NET hjemmeside med Visual Studio

HVAD ER WORDPRESS 2 HVORDAN LOGGES IND 3 HVORDAN NAVIGERES DER 4 HVORDAN SKRIVES EN SIMPEL NYHED 5 AVANCEREDE NYHEDER 6 HVORDAN RETTES EN NYHED 7

I denne arktikle går jeg gennem Slet, Ret og Opret data i en MySQL database. der er også en lille del i den hvor den postere datanen ud i en løkke

Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF.

Daglig brug af JitBesked 2.0

Serversideprogrammering, CMS og eshop. Dag 1: Introduktion og serverside programmering Niels Østergaard

FleeDa (DBK Fleetmap Database) Installationsvejledning til installation af VPN og FleeDa klient på egen PC (Juli 2017)

Tech College Aalborg. HomePort. Projekt Smart Zenior Home Guide til udvikling af nye adaptere til HomePort

Vejledning i brug af dli dokumenthåndteringssystemet til virksomheder

Sektornet VPN. Opsætning af Novell 5.1 server og klient på. Windows 2000/NT/XP

Log ind med PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 09. May 2011 af dab93 I kategorien Programmering / Andre

Databaseadgang fra Java

FairSSL Fair priser fair support

Elevvejledning til SkoleKomNet - Min egen hjemmeside

Generelt Windows tidligere versioner... 1 Windows Apple Mac Log på... 2 Rediger dokumentet Tilføj et tillægsdokument...

Dual boot. af Windows 7 og Linux Mint. Af Thomas Bødtcher-Hansen

Brugervejledning til Design Manager Version 1.02

Brugermanual PoP3 og Outlook Office 2003 Webmail Udarbejdet af IT-afdelingen 2005

7 Mamut Client Manager

Dan Rolsted PIT. Side 1

Kom godt i gang med Dyreregistrering

Ruko SmartAir. Updater installation

Opsætning af Backup. Dette er en guide til opsætning af backup med Octopus File Synchronizer.

Vejledning i brug af fjernarbejdsplads pa Danmarks Statistik Mac brugere

Installationsvejledning til softphone og app

Office2013 og Office2011 På alle computere, som lærerne har lånt af skolen er der installeret Office2013 til PC og Office2011 til MAC.

Hvordan opretter jeg MultiUser med en access-database?

Dropbox. Dit online USB-stick

SÅDAN BRUGER DU TEKST- BEHANDLING INTRODUKTION

Lav en hjemme side der kan sælge fly billetter til en stor i Europa.

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:

RefWorks en vejledning fra UCL Biblioteket. Indholdsfortegnelse

Gæstebog med validering opbygget med MySQL

Installationsguide til Oracle Database XE 10.2 og APEX 3.1.1

Gem dine dokumenter i BON s Content Management System (CMS)

IIS 8.0 & 8.5 & 10.0 SSL Administration

Hent filoplysninger fra billeder og filer

Installation af Wordpress

Opsætning af klient til Hosted CRM

DRFLive - dynamisk visning af resultater fra DRF Stævnesystem

Transkript:

JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal vi ikke bekymre os om, fordi alt dette bliver lavet automatisk. Grunden til JSP er blevet udviklet er simpel, det er for besværligt for ikke IT-mennesker at lave dynamiske sider som f.eks. Servlets. Man har derfor udviklet en metode hvor siderne er lavet i HTML og så indeholder Java kode ind i mellem der hvor du måtte ønske det, og dette er modsat Servlets, som primært er Java kode med HTML i mellem. Men det som gør JSP noget nemmer at arbejde med (helst når systemet ikke skal være alt for kompliseret) er at JSP siderne IKKE skal compiles (det sker automatisk), hvor vi med Servlet nemlig selv skulle holde styr på alt dette. Nu er det engang sådan at de aller fleste dynamiske hjemmesider gør brug af database, men du kan sagtens bruge og forstå JSP uden disse dele. De eksempler jeg vil bruge her er både uden og med (ikke database men fil, som i princippet er det samma). Se billede nedenfor her... Billede lånt fra: (Lidt ændringer af mig) http://plato.acadiau.ca/courses/comp/dsilver/2513/slides/jsp%20101%20introduction%20to%20javaserver%20pages.htm Hvis du fjerne Beans og Database delen fra tegningen så ser vi at vi har en Server som har en JSP engine/motor og det er det vi skal fokusere på her. For at kunne køre JSP må vi have en server som har denne JSP engine/motor (der er det ikke alle som har). Sådan er server kan vi få Gratis i Tomcat.

Tomcat Serveren: Vi har brug for en server til at modtage clienternes requests, og dertil bruger man en server. Det kunne i princippet være en hvilken som helst server, men efter som serveren skal kunne aktivere/bruge java servlets så kan vi ikke bare vælge som det passer os. F.eks. IIS (Internet Information Server, som Microsoft laver), kan (tror jeg) ikke køre Servlets. Vi bruger en GRATIS server fra Apache som er lavet til servlets og JSP, som kaldes Tomcat. Download Tomcat Serveren: Som sagt, den er gratis og findes under følgende link, som er start siden http://tomcat.apache.org/ og derfra kan du vælge forskellige udgaver. Jeg har valgt Tomcat 6.0 under Downloads, som var den nyeste i dag. Så kommer følgende side frem. Så valgte jeg at downloade Windows Service Installer og jeg gemte den bare på hardisken, men det behøves du ikke.

Installering af Tomcat Serveren: Når den så er downloadet kommer et vindue frem, som spørger om du vil installere serveren, og det ønsker vi jo. Se følgend serie...

Nu er Apaceh Tomcat Serveren installeret, og klar til brug. Prøv og skriv localhost i browseren så bør følgende side troppe op..jeg blev nød til at Slukke serveren og genstarte den før det virkede. Her ovenover der der 2 forsøg med localhost. Det første er en normal index.html side som kommer frem (når man ikke skriver hvilken fil man ønsker, så går serveren ud fra at det er index filen du får, og det får vi så her også). Det næste forsøg er index.jsp, og her får vi en meget lignende side, men nu er det en jsp side. Og det er JSP vi skal arbejde med her, og hvis dette fungerer for dig, ja så er du godt kørende fordi dette beviser at din server kan køre JSP, så lad os gå vider. Tomcat start og slut: Det er lidt irriterende når man arbejder med Tomcat, og man måske ændrer lidt i mapper, javacode osv. Så skal man huske at slukke og tænde Tomcat. Så for at undgå denne irritation, så kan man faktisk gå ind i Tomcat og ændre i en fil, så at det hele sker automatisk, se følgende billede...

Browser start og slut: Du må også huske på, at når du ændrer i koden eller opsætningen og du så kører browseren igen, så husker den den sidste FUNGERENDE side, som vil sige at laver du en fejl, så ses dette ikke i browseren uden at du lukker den ned og åbner en ny browser.

Hvordan kører en JSP sider på Tomcat Serveren: I dag laver vi eksempler uden Beans, så derfor skal vi ikke bruge BlueJ. Vi arbejder kun med Nodesblok. Men lad det ikke få dig til at tvivle på kvaliteten af det vi skal gøre, fordi vi skal til sidst lave en applikation som kan gemme på fil. Dvs. At vi har Client, Server og Fil/DataBase alt kun med Nodesblok. Vi kunne starte med et total simpel eksempel så som Hello World, men det gider jeg ikke bruge tid på fordi det ikke viser nok. I stedet tager jeg et eksempel vor en client indtaster et eller andet og så svarer serveren afhængig af clientens indput. Således vil vi virkelig se en masse af det smarte med JSP (Samme grundlæggende ide som ASP og PHP). Vi skal have 2 jsp filer. De kommer her... FIL NAVN: first.jsp eller first.html <HTML> <BODY> <FORM METHOD=POST ACTION="next.jsp"> <INPUT TYPE=TEXT NAME=username SIZE=20> <BR><INPUT TYPE=SUBMIT VALUE= Tryk på mig > </FORM> </BODY> </HTML> FIL NAVN: next.jsp <HTML> <BODY> <% String name = request.getparameter( "username" ); if ( name.equals( "true") ) { out.println("true"); else { out.println("false"); %> </BODY> </HTML> Dette er så de filer vi skal bruge nu, men hvor skal de placeres hos Serveren?

Vi skal bare placere dem i en mappe (som vi definerer) under rod mappen i Tomcat. Hos mig ser det sådan ud... Ok, så har vi lagt filerne det rigtige sted, men hvordan kalder vi så på first.jsp fra browseren?

Når en klient kalder på vores first.jsp fil, så kommer det til at se sådan ud i browseren. Nu er denne jsp fil faktisk så simpel at den KUN indeholder HTML tekst, så vi kunne faktisk bare ændre fil navnet til first.html, og så ville den funger akkurat lige så godt. Det siger os så meget, at JSP sider er STØRRE end HTML sider fordi JSP sider har både HTML og Java kode, mens HTML kun har HTML. I dette eksempel vælger jeg at skrive false i textboksen og trykker så på Tryk på mig knappen. Så vil resultatet se sådan ud... Hvis jeg havde skrevet true, så ville resultatet have returneret true, det burde ikke komme som nogen overraskels.

Lad os undersøge koden for at forstå hvad der sker her. Selv om dette eksempel er simpel, så sker der rigtigt meget, og man kan hurtigt miste overblikket, så for at hjælpe lidt, har jeg lavet streger som indikerer at der er sammenhænge, og der er en del sammenhænge...men lad os først se billedet... Begge filer har HTML og BODY tags, prøv og ignorer dem i denne sammenhæng, fordi de skal bare være der. Det interessante sker i FORM i first.jsp som siger at den bruger POST metoden og ACTION skal være next.jsp. Dette betyder bare at formen sendes som POST og ikke som GET, det er bare den måde hvorpå formen sendes og ikke vigtig lige nu. Men ACTION er interessant fordi den siger hvilke fil som skal MODTAGE denne her form, og det er nemlig vores anden fil - next.jsp. Hvornår bliver så denne form sendt, jo når clienten trykker på knappen som vi kalder for Tryk på mig. Hvordan kommer så denne tekst som clienten skriver i textfeltet over til next.jsp filen. Den sendes med usename variablen/input. Så kommer vi til next.jsp som kommer i aktion når clienten tykker knappen. Det første som next.jsp gør, er at hente varablen/input texten. Når vi har denne tekst kan vi tjekke om den indeholder teksten true eller false og i dette tilfælde her har jeg/clienten skrevet true så IF sætningen ryger ind i true delen og udskriver true som html tekst. Next.jsp filen indeholder Java kode og den er omringet af <%...java kode... %>. Dette kan virke mystisk, men det som sker er at når serveren modtager POST kaldet med Formen fra clienten, så aktiverer serveren denne java kode. Og den vil så lave noget HTML tekst i stedet for Java koden, som i dette tilfælde enten er true eller er false.

Det kan du se, hvis du modtager next.jsp filen og højreklikker med musen på browseren og vælger view source...ser sådan ud... Så vil resultatet blive en meget simpel html side, som ser sådan ud... Det vil sige, at serveren kun returnere denne her simple html side, ud fra HTML teksten og java koden som er i next.jsp siden. Kikker du godt, så er det kun out.println( true ); som ses, og deraf fjernes også out.println, så der kun er true tilbage at sende til klienten. Dette simple eksempel skulle vise dig hvordan du modtager tekst fra clienten, og så undersøges denne af serveren og afhængig af denne tekst, vil der blive produceret et svar. Har man forstået denne her teknik, så er man kommet meget langt i at forstå hvordan man bygger en dynamisk applikation.

Alt i én fil: Normalt når man ville lave en applikation som skulle kunne det samme som denne her kan, så ville man ikke bruge 2 filer (first.jsp og next.jsp), man man ville samle det hele i en fil. Jeg har valgt at dele den op for at være lidt mere pædagogisk, men hvis du skulle ønske en fil, så ville den se sådan ud...nu kalder jeg filen firstnext.jsp <HTML> <BODY> <FORM METHOD=POST ACTION="firstnext.jsp"> <INPUT TYPE=TEXT NAME=username SIZE=20> <BR><INPUT TYPE=SUBMIT VALUE= "Tryk på mig"> </FORM> <% String name = request.getparameter( "username" ); if (name!= null) //Første gang er den selvfølgelig NULL, og så skal den ikke vider... { if ( name.equals( "true") ) { out.println("true"); else { out.println("false"); %> </BODY> </HTML>

Gem på fil: Vi starter nu et nyt projekt, og bruger ikke first.jsp og next.jsp mere. Vi lægger denne ene file ind i samme folder som du har brugt intil nu. Men i Browseren skal du nu bruge GemTekst.jsp i stedet for. Jeg ønsker her at kunne skrive ned på tekst fil, og sådan gemme det som clienten skriver (log bog). Det er faktisk ikke så svært, vi genbruger koden fra sidst og tilføjer lidt fil skrivnings haløj. Det er normal java kode vi bruger...se resultatet.. Fil Navn: GemTekst.jsp <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <HTML> <BODY> <FORM METHOD=POST ACTION="GemTekst.jsp"> <INPUT TYPE=TEXT NAME=username SIZE=20> <BR><INPUT TYPE=SUBMIT VALUE= "Tryk på mig"> </FORM> <% String gemmetekst= request.getparameter( "username" ); if(gemmetekst!= null) // Førstegang er den NULL. { try { FileWriter writer = new FileWriter("JSPgemmetekst.txt"); writer.write(gemmetekst); writer.close(); out.println("der er gemt i JSPgemmertekst.txt filen din tekst: " + gemmetekst); catch(ioexception e) { System.out.println("filen kunne ikke gemmes"); %> </BODY> </HTML> Det er koden, ikke alt for indviklet. Vi motager fra clienten lige som før, og denne tekst hentes og kaldes for gemmetekst. Så hvis den ikke er NULL som den er første gang klienten logger på, så kører vi vider, og laver en JSPgemmetekst.txt fil. Hvis denne fil er lavet før, så overskrives den bare. Så putter vi gemmetekst ind i denne fil, og lukker. Det var det. Nu har vi en meget simpel men smart web applikation som tillader at en klient

logger på og skriver en tekst ned på en fil hos serveren. Som nu er overskrives teksten hele tiden, men det er nemt at gør det sådan at den tilføjes i stedet for. Tak for denne gang. Jákup Wenningstedt Hansen.