private void lisaaPizza(HttpServletRequest request,
			HttpServletResponse response, String action)
			throws ServletException, IOException {
		// Luodaan pizza- ja tuote-luokkien oliot.
		Tuote tuote = new Tuote();
		Pizza pizza = new Pizza();

		// Esitellään muuttujia.
		boolean oreg = false;
		boolean vsip = false;
		boolean lton = false;
		boolean gton = false;
		double riviHinta;

		// Otetaan pizzan id-numero irti valuesta
		String pizzaIdString = action.substring(6);

		// Muunnetaan saatu String Integer-tyypin luvuksi.
		int id = 0;
		try {
			id = Integer.parseInt(pizzaIdString);
		} catch (NumberFormatException e1) {
			System.out.println("Id:n muuttaminen ei onnistunut");
			e1.printStackTrace();
		}

		ArrayList<Tilausrivi> tilausrivit = luoTilausrivi(request);

		// Haetaan tietokannasta ostoskoriin lisätyn pizzan tiedot.
		try {
			TuoteDAO pDao = new TuoteDAO();
			pizza = pDao.haePizza(id);
			tuote = pDao.haeTuote(id);
		} catch (DAOPoikkeus e) {
			throw new ServletException(e);
		}

		// Otetaan lisävalinnat vastaan.
		String oregano = request.getParameter("valinta-oreg");
		String laktoositon = request.getParameter("valinta-lton");
		String valkosipuli = request.getParameter("valinta-vsip");
		String gluteeniton = request.getParameter("valinta-gton");

		// Otetaan pizzan koko (normaali/perhe) vastaan.
		String koko = request.getParameter("koko");

		// Otetaan lisättyjen pizzojen määrä vastaan.
		String maaraString = request.getParameter("kpl-maara");
		// Muunnetaan määrä Integer-tyypin luvuksi.
		int maara = Integer.parseInt(maaraString);

		// Minkä kokoinen pizza oli? Määritetään rivin hinta koon ja määrän
		// perusteella ja lisätään se olioon.
		if (koko.equals("Perhe")) {
			double perheHinta = (pizza.getIsoHinta());
			riviHinta = perheHinta * maara;
		} else {
			double normiHinta = (pizza.getHinta());
			riviHinta = normiHinta * maara;
		}

		// Oliko lisävalintoja valittu? Jos kyllä, asetetaan olioon niiden
		// arvoiksi true.
		if (oregano != null) {
			oreg = true;
		}
		if (laktoositon != null) {
			lton = true;
		}
		if (valkosipuli != null) {
			vsip = true;
		}
		if (gluteeniton != null) {
			gton = true;
		}

		// Luodaan Tilausrivi-luokan olio saaduista tiedoista.
		Tilausrivi tilausrivi = new Tilausrivi(id, pizza, tuote, koko, maara,
				riviHinta, oreg, lton, vsip, gton);

		// Tallennetaan olio listaan.
		tilausrivit.add(tilausrivi);

		// Tallennetaan lista talteen sessiomuuttujaan.
		request.getSession().setAttribute("tilausrivit", tilausrivit);

		// Lopuksi palautetaan käyttäjä takaisin menu-sivulle.
		response.sendRedirect("menu?added=true");
		// Tulostetaan vielä lisätyn pizzan tiedot konsoliin.
		System.out.println(tilausrivi);
	}