import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; /** * OstoskoriLisays.java * Ohjelmassa lisätään HTML-sivulla annetut tuotteet * HttpSession-olion sisältämään ostoskoriin. */ public class OstoskoriLisays extends HttpServlet { private String htmlUrl = "../Ostoskori.html"; private String tulostusUrl = "../servlet/OstoskoriTulostus"; public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { int ostoksia = tallennaKoriin(req); PrintWriter out = res.getWriter(); res.setContentType("text/html"); out.println("Ostoskoriin lisäys"); out.println(""); out.println("
Ostoskoriin lisätty " + ostoksia + " tuotetta
"); tulostaLinkit(res, out); out.println(""); } public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { doPost(req, res); } private int tallennaKoriin(HttpServletRequest req) { HttpSession session = req.getSession(true); Ostoskori kori; synchronized(session) { kori = (Ostoskori)session.getAttribute("ostoskori"); //Uusi asiakas saa uuden korin //Vanha asiakas käyttää aikaisemopaa koria if (kori == null) { kori = new Ostoskori(); session.setAttribute("ostoskori", kori); } } // Jos valittuja tuotteita, kaikki tuotteet lisätään koriin String[] tuotteet; int lkm=0; try{ tuotteet = req.getParameterValues("tuote"); // Käydään läpi kaikki valitut alkiot for (int i=0; i < tuotteet.length; i++) { String nimi = tuotteet[i]; kori.lisaaTuote(nimi); } lkm = tuotteet.length; }catch (NullPointerException e){} return lkm; } private void tulostaLinkit(HttpServletResponse res, PrintWriter out) { out.print("
Tuotteen lisäys ostoskoriin
"); out.print("
Katso tuotekorin sisältö
"); } }