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("");
out.print("");
}
}