TIEP113 Ohjelmointi 2, JSP, 1 op, 2020

JSP = Java Server Pages = tapa tehdä dynaamisia WWW-sovelluksia niin, että kirjoitetaan (X)HTML:ää ja tarvittaessa sekaan Java-koodia.

1. Kurssin suoritus

Oliko tämän kurssin suorittamiseen millainen aikataulu? Täytyykö siis suorittaa keväällä vai onko mahdollisuus myös kesällä tehdä?

23 Apr 20

Suoritus:

  1. Katsotaan itsenäisesti alla olevat videot. Alla esimerkkiaikataulut videoiden katsomiseen.

    • videot W0-W2 katsottavat ennen päätohjausta 1
    • videot W3-W4 katsottava ennen pääteohjausta 2
  1. Tehdään ohjatusti tai itsenäisesti pääteohjaukset:
{}
  1. Muutetaan oma harjoitustyö (osittain) WWW-pohjaiseksi
  1. Luvussa 3 on työkalujen ohjeita

Tähän tulee alle pääteohjausten ilmoittautumistaulukko

2. Luentojen videot

  • alla luentovideot, niiden ehdotetut katselujat (tiistain ahtautta voi pienentää katsomalla aikaisemminkin :-), sisällöt ja oheismateriaali
  • vinkki: avaa video toiseen selainikkunaan ja tee itse samalla Eclipsellä tai vastaavalla.

W0. ti 2.5.2016 klo 10:15-10:45: Aihe: Aloitusluento

{}

W1. ti 2.5.2017 klo 10:45-12:15: Aihe: TCP/IP, Servlet, JSP

W2. ti 2.5.2017 klo 14:15-16:00: Aihe: Omien komponenttien käyttö JSP-sivuilla

W3. ma 8.05.2017 klo 10:15-12:00: Aihe: Kerho-ohjelma JSP:llä

W4. ti 9.05.2016 klo 14:15-16:00: Aihe: synkronoinnista, Ajax, Vaadin

#

3. JSP ja Eclipse

{}
#

3.1 Perusasennukset

Tämä siis omalla koneella (tämä on jo tehty mikroluokissa, älä yritä uudelleen).

  • Asenna aluksi TomCatin uusin versio (tarkista mikä, kirjoitushetkellä oli 9.x, korjaa näitä ohjeita tarvittaessa): http://tomcat.apache.org/index.html (muista hakemisto johon asensit TomCatin, ehdotus: C:\devel\apache-tomcat-9.0.19 )
  • Jos et asentanut aikanaan osoitteesta https://www.eclipse.org/downloads/packages/ Eclipsen J2EE versiota (Eclipse IDE for Enterprise Java Developers), niin asenna se viimeistään nyt. Jos olet tehnyt vanhan asennuksen, niin voi riittää Eclipsen configuraatio-hakemiston tyhjentäminenkin, jos kaikki ei toimi ihan kunnolla. Tämä voi olla esim Windowsissa hakemistossa
    • %USERPROFILE%\Local Settings\Application Data\eclipse

11.05.20 näyttää julkaisseen uuden version Tomcat 10.0.0-M5, mutta Eclipsessä tämä ei vielä ole vaihtoehtona… Pystynkö lisäämään sen Eclipseen vai kannattaako ladata 9.xxx versio?

Se näyttäisi olevan vielä alphaversio, joten varminta on mennä juurikin 9.x versioilla. Toki jos joku haluaa omalla vastuulla kokeilla kehitysversioita, niin ihan vapaasti :) -MR

28 May 20 (edited 28 May 20)
{}

3.2 Palvelimen asentaminen työtilaan

  • Käynnistä Eclipse (mikroluokassa Eclipse 19.03, jos N-levy ei toimi, ks pääte 3)
  • Kannattaa tehdä Workspace jota ei ole koskaan käyttänyt vielä
  • Lisää työtilaan palvelin:
    1. File/New/Other/Server/Server
    2. Asetukset:
      • Select the server type: Apache/Tomcat vX.Y Server (mikroluokissa versio 9)
      • Server’s host name: localhost
      • Server name: Tomcat vX.Y Server at localhost
      • Next
    3. Tomcat installation directory: kohdan 3.1 hakemisto (mikroluokissa C:\devel\tomcat-9.0.19)
    4. Next ja Finish
{}

3.3 Servletin tekeminen

  • luo uusi Web-projekti sopivaan hakemistoon (ei toiminut kaikilla mikroluokissa, kokeile, mutta jos ei toimi, niin siirry JSP-osaan)
  1. File/New/Other/Web/Dynamic Web Project
  2. Nimeksi vaikka servlet
  3. Sopiva hakemisto
  4. Target Runtime: Apache Tomcat vX.Y Next
  5. Next Next Finish
  6. Salli uusi perspektiivi, jos Eclipse kysyy
  • luo uusi Servlet:
  1. File/New/Other/Web/Servlet Next
  2. Asetukset:
    • Project: servlet
    • Folder: servlet
    • Java package: servlet
    • Class name: ServletEka
    • Super class: javax.servlet.http.HttpServlet
    • Next
  3. Asetukset:
    • Name: ServletEka
    • Description: Eka servletti meikäläiselle
    • Url mappings /ServletEka
    • Next
  4. Asetukset:
    • Modifiers: Public
    • Interfaces: javax.servlet.Servlet
    • Ruksit:
      • Constructors from superclass
      • Inherited abstract methods
      • doPost
      • doGet
    • Finish
  • Muuta syntynyt koodi haluamaksesi (esim ServletEka.java)
  • Aja servletti:
    • Oikeaa nappia koodin päällä ja Run as/Run on Server
    • Valitse Tomcat X.Y ja ruksi “Always user this server when running this project” ja Next, Finish
  • Ota joku selain (oletuskin käy) ja kirjoita URLiksi:
{}
http://localhost:8080/servlet/ServletEka

(jossa servlet on projektin nimi ja ServletEka servletin nimi)

{}

3.4 JSP-sivun tekeminen

  1. Lisää saman projektin alle uusi JSP-sivu:
  2. File/New/Other/Web/JSP File
  3. Katso, että projektin WebContent on valittuna
    • File name: JspEka.jsp
    • Next
  4. Valitse sopiva merkkaustapa, esim html 5
  5. Finish
  6. Muuta syntynyt koodi haluamaksesi (esim. JspEka.jsp)
  7. Näytä JSP-sivu Run as/Run on server
  8. Nyt tarvittava URL on
{}
http://localhost:8080/servlet/JspEka.jsp
  1. Tutustu myös generoidun .html-tiedoston sisältöön (selaimesta riippuen View Source -välilehti, eli siis HTML-sivun lähdekoodi)
{}

3.5 uiBeans-kirjaston käyttäminen

  • luo uusi Java-projekti uiBeans
  • tee sen alle uiBeans-paketti
  • kopioi paketin alle EditBox.java ja ComboBox.java
  • Lisää projektiin Tomcat:
    • Project/Properties/Java Build path/Libraries/Add Library/Server Runtime/Apache Tomcat
  • Web-projektissasi lisää projekti mukaan:
    • Project/Properties/Java Build Path/Projects/Add
    • ja projektisi nimi (esim. uiBeans)
  • Laita vielä web-projektissa ui-projekti vielä näkymään palvelimelle:
    • Eclipse 4.4: Project/Properties/Deployment Assembly/Add/Project ja valitse ui-projektisi (esim. uiBeans)
  • Muuta jsp sivu käyttämään ko. komponentteja (esim. jspValintaWithBean.jsp)
  • Muista tallentaa JSP-sivusi
  • Tarvittaessa siivoa kaikki: Project/Clean.../Clean all projects
  • Jos uiBeans ei käänny, voi syynä olla se, että Tomcatin .jar puuttuu uiBeans-projektin Java Build Pathista. Sen voi yrittää saada sinne esim. import javax.servlet.http.*; rivillä Ctrl-1:n kautta ja sitten Fix Project Setup…
{}

3.6 Oman papu-luokan lisääminen

Jos haluat lisätä oman papu-luokan, se onnistuu näin:

  • Lisää web-projetiin uusi paketti, esim. jspvaihtaja
  • Luo uusi luokka paketin alle, esim. VaihtajaBean
{}

3.7 Valmiin .jar-kirjaston käyttäminen (esim. Ali.jar)

  • Web-projektissasi Project/Properties/Java Build Path/Libraries/Add External JARs
  • Lisää haluamasi Jar-tiedostot (esim. Ali.jar)
  • Lisää jar näkymään palvelimelle:
    • Eclipse 4.4: Project/Properties/Deployment Assembly/Add/Archives from File System
{}

3.8 Valmiiden omien luokkien lisääminen

  • tee luokkia vastaava uusi projekti: File/New/Java Project ja hae oikea hakemisto

  • anna projektille joku nimi (esim. Valuutat-luokkaa varten demo)

  • Web-projektissasi lisää projekti mukaan: Project/Properties/Java Build Path/Projects/Add ja projektisi nimi (esim. demo)

  • Laita projekti vielä näkymään palvelimelle: - Eclipse 4.4: Project/Properties/Deployment Assembly/Add/Project

  • Jos omien luokkien projekti ei tule millään em. kohtaan näkyviin, voit tehdä omista luokista .jar-tiedoston, joka sitten lisätään palvelimelle em. kohdasta .jar-tiedostona

     File/Export/Java/Jar-file

Jos muutat luokkiesi sisältöä, muista tässä tapauksessa tehdä uusi .jar.

3.9 Oletushakemisto

  • Eclipsen ja Tomcatin oletushakemistona on se hakemisto, josta Eclipse on käynnistetty.
  • tätä varten on hyvä olla itsellään ajojono, jolloin voi ensin siirtyä komentorivillä haluamaansa ja sitten käynnistää Eclipsen tähän hakemistoon.
  • tällä tiedolla on merkitystä, kun avataan tiedostoja ilman hakemiston nimeä.
  • hakemisto voidaan toki muuttaa myös
Run Configurations/Apache Tomcat/Tomcat vX.Y/Arguments/Working Directory/Other
{}
{}
{}

3.10 Tietokanta

Mikäli käytät esim. SQLite tietokantaa, katso mallia kannan alustamisesta esimerkistä:

Kanta.java

ja erityisesti metodista annaKantayhteys().

4. Lukemista

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.