protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		/**
		 *  Servlet ottaa vastaan Tilaus-luokan olion, joka sisältää kaikki
		 *  tilauksen tekemiseen tarvittavat tiedot. Ennen tilauksen tallentamista
		 *  täytyy kuitenkin tarkistaa, onko pizzeria vielä "auki". Jos tilaaminen
		 *  onnistuu, tallennetaan tilaus tietokantaan ja johdatetaan käyttäjä
		 *  tilausvahvistussivulle. Jos tilausmahdollisuus on mennyt kiinni,
		 *  ilmoitetaan siitä käyttäjälle ja estetään tilauksen tallennus.
		 */
		
		// Luodaan Date-olio NYKYAJALLA.
		Date tilausAika = new Date();
		SimpleDateFormat aika = new SimpleDateFormat("HH:mm:ss");
		// Parsitaan tilausaika merkkijonoksi.
		String tilausAikaStr = aika.format(tilausAika);
		
		// Haetaan tietokannasta pizzerian aukioloajat.
		Aukiolo aukiolo;
		try {
			// Luodaan Aukiolo-luokan olio.
			AukioloDAO aDao = new AukioloDAO();
			// Sijoitetaan oliot listaan.
			aukiolo = aDao.haeAukiolot();
		} catch(DAOPoikkeus e) {
			throw new ServletException(e);
		}
		
		// Parsitaan myös tietokannasta haetut sulkemisajat (arki sekä vklp).
		String arkialkuStr = aika.format(aukiolo.getArkialku());
		String vklpalkuStr = aika.format(aukiolo.getVklpalku());
		String arkiloppuStr = aika.format(aukiolo.getArkiloppu());
		String vklploppuStr = aika.format(aukiolo.getVklploppu());
		
		
		// Muunnetaan tunnit ja minuutit numeroiksi, jotta voidaan vertailla.
		// Tilausajan muuttaminen
		int tilausTunnit = Integer.parseInt(tilausAikaStr.substring(0,2));
		int tilausMinuutit = Integer.parseInt(tilausAikaStr.substring(3,5));

		int arkiAlkuMinuutit = Integer.parseInt(arkialkuStr.substring(3,5));
		int arkiLoppuMinuutit = Integer.parseInt(arkiloppuStr.substring(3,5));
		int vklpAlkuMinuutit = Integer.parseInt(vklpalkuStr.substring(3,5));
		int vklpLoppuMinuutit = Integer.parseInt(vklploppuStr.substring(3,5));
		
		int arkiAlkuTunnit = Integer.parseInt(arkialkuStr.substring(0,2));
		int arkiLoppuTunnit = Integer.parseInt(arkiloppuStr.substring(0,2));
		int vklpAlkuTunnit = Integer.parseInt(vklpalkuStr.substring(0,2));
		int vklpLoppuTunnit = Integer.parseInt(vklploppuStr.substring(0,2));
		
		// Luodaan muuttujat, joita vertaillaan.
		int avausAika = 0;
		int sulkemisAika = 0;
		
		// Mikä viikonpäivä nyt on?
		Calendar c = Calendar.getInstance();
		c.setTime(tilausAika);
		int viikonpaiva = c.get(Calendar.DAY_OF_WEEK);

		// Valitaan tämän mukaan vertailtava aika.
		if (viikonpaiva == 7 || viikonpaiva == 1) { // 1 = sunnuntai, 7 = lauantai
			avausAika = vklpAlkuTunnit * 60 + vklpAlkuMinuutit;
			sulkemisAika = vklpLoppuTunnit * 60 + vklpLoppuMinuutit;
		} else {
			avausAika = arkiAlkuTunnit * 60 + arkiAlkuMinuutit;
			sulkemisAika = arkiLoppuTunnit * 60 + arkiLoppuMinuutit;
		}
		
		// Tarvitaan myös tilausaika samassa muodossa.
		int tilausAjankohta = tilausTunnit * 60 + tilausMinuutit;
		
		// Vertaillaan aikoja toisiinsa. Jos tilaus osuu pizzerian tilausajan väliin...
		if (tilausAjankohta >= avausAika && tilausAjankohta <= (sulkemisAika - 30)) {
			// Tallennetaan tilaus.
			teeTilaus(request, response);
		} else {
			// ...kerrotaan asiakkaalle, että pizzeria on jo mennyt kiinni...
			request.setAttribute("virhe", "Pizzeria on jo mennyt kiinni!");
			// ...ja ohjataan hänet takaisin yhteenvetosivulle.
			response.sendRedirect("yhteenveto?pizzeria=kiinni");
		}
		
	}