wiki:JSP
Last modified 16 months ago Last modified on 2016-04-27 11:34:14

Tämä sivu on siirretty TIMiin.


JSP

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

  • Kurssin aihe: Miten Kerho muutetaan WWW-ohjelmaksi
  • Luennot: ks. luentojen aiheet.
  • Suoritus: luennot + pääteohjaukset + harjoitustyö

1. JSP ja Eclipse

1.1 Perusasennukset

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

  • Asenna aluksi TomCatin uusin versio: http://tomcat.apache.org/index.html (muista hakemisto johon asensit TomCatin)
  • Jos et asentanut aikanaan osoitteesta www.eclipse.org/downloads/ J2EE versiota (Eclipse IDE for Java EE 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)

1.2 Palvelimen asentaminen työtilaan

  • Käynnistä Eclipse (mikroluokassa komentoriviltä ee44, 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 8)
      • Server's host name: localhost
      • Server name: Tomcat vX.Y Server at localhost
      • Next
    3. Tomcat installation directory: [kohdan 1.1 hakemisto] (mikroluokissa C:\devel\apache-tomcat-8.0.21)
    4. Next ja Finish

1.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\src
      • 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)

1.4 JSP-sivun tekeminen

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

1.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...

1.6 Oman papu-luokan lisääminen

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

  • Lisää projetiksi hakemistoon uusi paketti, esim. jspvaihtaja
  • Luo uusi luokka paketin alle, esim. VaihtajaBean

1.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

1.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.

1.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
    

1.10 Pääteohjaukset

Pääteohjaus 1

Pääteohjaus 2 (Harjoitustyön ohjeita samalla)

1.11 Harjoitustyö

Harjoitustyö

2 Lukemista