Tag: JUnit


Palvelinohjelmointi – tehtäviä


Kurssin kotisivu

Tehtäviä GitHubissa

Huom. GitHubiin ei ole siirretty .properties -tiedostoja tietoturvasyistä. Näin ollen suurin osa tehtävistä ei toimi suoraan.

Huom2. Tietokantaa käyttävät harjoitukset antavat ensimmäisellä ajokerralla HTTP Status 500 virheilmoituksen, joka liittyy tietokantayhteyteen.

Harjoitukset toimivat kun ohjelman ajaa uudestaan.

Viikko 1

Jsp-sivu, joka sisältää lomakkeen, johon syötetään kirjan nimi, tekijätiedot ja ISBN-koodi. Luotiin servlet, joka poimii tarvittavat tiedot http-pyynnöstä ja tallentaa ne Kirja-olioon requestin attribuutiksi.

Sivu ohjaa http-pyynnön servletiltä toiselle jsp-sivulle, joka osaa tulostaa Kirja-olion tiedot html-muotoiltuna.

Kirja-Ohjelma

 

Viikko 2

 

PreparedStatement, SQL Injection

Jsp-sivu, joka lukee tietokannasta käyttäjänimiä. Käyttäjiä voi lisätä sekä poistaa tietokannasta.

Käyttäjänimet

 

Viikko 3

Maven, JUnit

Demo sisältää kaksi sovellusta, laskimen ja kellon. Laskin-luokan metodeita on testattu JUnit-yksikkötesteillä. SuomiKello-luokan metodeita on myös testattu yksikkötesteillä ja ulkoinen KelloLahde on rajattu testistä pois käyttäen Mock-oliota.

Viikkotentin harjoitusta varten Kello-sovellukseen on lisätty GmtIsoKello -luokka, joka näyttää GMT-ajan ISO-standardin mukaan. GmtIsoKello-luokan metodeita on myös testattu yksikkötestillä ja testi on lisätty AllTests-suiteen

Demo 11

 

Viikko 4

Spring Framework, Spring JDBC

Komentorivisovellus, joka hakee levyjen tietoja tietokannasta.

Viikkotentti 4 harjoitus 13 (GitHub)

 

Viikko 5

Spring Web MVC, Anonyymi sisäluokka, Callback, GeneratedKeyHolder

Lomake, jonka avulla käyttäjä luodaan tietokantaan. Kun lomakkeen avulla on luotu uusi henkilö tietokantaan, käyttäjä siirretään sivulle, joka hakee tietokannasta juuri lisätyn henkilön tiedot ja näyttää ne. Lisätty toiminnallisuus: henkilöt/lista -linkistä sivu hakee tietokannasta kaikkien henkilöiden tiedot.

Viikkotentti 5 harjoitus 11

 

Viikko 6

Internationalization (I18n), Localization (L10n), Bean validation (JSR 303), Custom annotation, Custom validator

Käyttäjä voi vaihtaa käyttöliittymän kieltä napin painalluksella. Kaikki kieliriippuvaiset tekstit on tallennettu kielikohtaisiin properties-tiedostoihin. Henkilön ominaisuuksia on laajennettu. Mikäli syötetty data ei ole validia, käyttäjä ohjataan takaisin lomakesivulle ja häntä opastetaan korjaamaan virheet.

Lisätty toiminnallisuus: Luotu demosovellukseen uusi validaattori kenttiin etunimi, sukunimi ja lahiosoite tarkastamaan, että merkkijono alkaa isolla kirjaimella. Toteutettu validointi uudella annotaatiolla, jonka nimi on @AlkaaIsollaKirjaimella.

Viikkotentti 6 harjoitus 12

 

Harjoitustehtävä

Spring Web MVC, Anonyymi sisäluokka, Callback,GeneratedKeyHolder, Internationalization (I18n), Localization (L10n),

Bean validation (JSR 303), Custom annotation, Custom validator

Käyttäjä voi kirjata järjestelmään painokirjauksia ja hakea kaikki tai tiettynä päivänä tehdyt kirjaukset. Validointia käytetään havaitsemaan tyhjät kentät ja väärässä muodossa annetut tiedot.

PainoOhjelma.v1