DVDdvd=(DVD)items.elementAt(i);
if(dvd.getMovie().equals(newItem.getMovie())){
dvd.setQuantity(dvd.getQuantity()+newItem.getQuantity());
items.setElementAt(dvd,i);
flag=true;
break;
}
}
if(newItem.getQuantity()>0&&(flag==false)){
items.addElement(newItem);
}
}
publicvoidremoveItem(intitemIndex){
items.removeElementAt(itemIndex);
}
publicvoidcompleteOrder()
throwsException{
Enumeratione=items.elements();
connection=ProductDataBean.getConnection();
statement=connection.createStatement();
while(e.hasMoreElements()){
DVDitem=(DVD)e.nextElement();
StringitemQuantity=""+item.getQuantity();
totalPrice=totalPrice+item.getPrice()*
Integer.parseInt(itemQuantity);
StringupdateString="INSERTINTOShoppingCarts"+
"VALUES("+CARTID+",'"+
item.getMovie()+"','"+
item.getRating()+"','"+
item.getYear()+"',"+
item.getPrice()+","+
item.getQuantity()+")";
statement.executeUpdate(updateString);
}
CARTID++;
}
publicdoublegetTotalPrice(){
returnthis.totalPrice;
}
publicvoidrefreshoriginaldata()
throwsException{
Enumeratione=items.elements();
connection=ProductDataBean.getConnection();
statement=connection.createStatement();
while(e.hasMoreElements()){
DVDitem=(DVD)e.nextElement();
StringmovieName=item.getMovie();
intqt=item.getQuantity();
ResultSetsrs=statement.executeQuery("selectquantityfromproducts"+
"wheremovie='"+movieName+"'");
srs.next();
srs.updateInt("quantity",qt);
srs.updateRow();
}
}
}
//RemoveItemAction.java
importjavax.servlet.http.*;
importcom.opensymphony.xwork2.ActionSupport;
importorg.apache.struts2.interceptor.ServletRequestAware;
importorg.apache.struts2.interceptor.ServletResponseAware;
publicclassRemoveItemActionextendsActionSupportimplementsServletRequestAware,ServletResponseAware
{
privateHttpServletRequestrequest;
privateHttpServletResponseresponse;
publicvoidsetServletRequest(HttpServletRequestrequest)
{
this.request=request;
}
publicvoidsetServletResponse(HttpServletResponseresponse)
{
this.response=response;
}
publicStringexecute()
{
//Gettheindexoftheitemtoremove
intitemIndex=Integer.parseInt(request.getParameter("item"));
HttpSessionsession=request.getSession();
//Getthecart
ShoppingCartcart=(ShoppingCart)session.getAttribute(
"ShoppingCart");
cart.removeItem(itemIndex);
//Displaythecartandallowusertocheckoutor
//ordermoreitems
/**Stringurl="/jsp/ShowProductCatalog.jsp";
ServletContextsc=getServletContext();
RequestDispatcherrd=sc.getRequestDispatcher(url);
rd.forward(request,response);**/
returnSUCCESS;
}
}
//ProductDataBean.java
importjava.io.*;
importjava.sql.*;
importjava.util.*;
publicclassProductDataBeanimplementsSerializable{
privatestaticConnectionconnection;
privatePreparedStatementaddRecord,getRecords;
publicProductDataBean(){
try{
StringuserName="sample";
Stringpassword="sample";
//Stringurl="jdbc:
mysql:
//localhost/test";
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
connection=DriverManager.getConnection("jdbc:
oracle:
thin:
@localhost:
1521:
XE",userName,password);
System.out.println("Databaseconnectionestablished");
}catch(Exceptione){e.printStackTrace();}
}
publicstaticConnectiongetConnection(){
returnconnection;
}
publicArrayListgetProductList()throwsSQLException{
ArrayListproductList=newArrayList();
Statementstatement=connection.createStatement();
ResultSetresults=statement.executeQuery(
"SELECT*FROMproducts");
while(results.next()){
DVDmovie=newDVD();
movie.setMovie(results.getString
(1));
movie.setRating(results.getString
(2));
movie.setYear(results.getString(3));
movie.setPrice(results.getDouble(4));
productList.add(movie);
}
returnproductList;
}
}
//DVD.java
importjava.io.*;
publicclassDVDimplementsSerializable{
Stringm_movie;
Stringm_rated;
Stringm_year;
doublem_price;
intquantity;
publicDVD(){
m_movie="";
m_rated="";
m_year="";
m_price=0;
quantity=0;
}
publicDVD(StringmovieName,StringmovieRate,StringmovieYear,
doublemoviePrice,intmovieQuantity){
m_movie=movieName;
m_rated=movieRate;
m_year=movieYear;
m_price=moviePrice;
quantity=movieQuantity;
}
publicvoidsetMovie(Stringtitle){
m_movie=title;
}
publicStringgetMovie(){
returnm_movie;
}
publicvoidsetRating(Stringrating){
m_rated=rating;
}
publicStringgetRating(){
returnm_rated;
}
publicvoidsetYear(Stringyear){
m_year=year;
}
publicStringgetYear(){
returnm_year;
}
publicvoidsetPrice(doublep){
m_price=p;
}
publicdoublegetPrice(){
returnm_price;
}
publicvoidsetQuantity(intq){
quantity=q;
}
publicintgetQuantity(){
returnquantity;
}
}
//CheckoutAction.java
importjavax.servlet.http.*;
importcom.opensymphony.xwork2.ActionSupport;
importorg.apache.struts2.interceptor.ServletRequestAware;
importorg.apache.struts2.interceptor.ServletResponseAware;
publicclassCheckoutActionextendsActionSupportimplementsServletRequestAware,ServletResponseAware
{
privateHttpServletRequestrequest;
privateHttpServletResponseresponse;
publicvoidsetServletRequest(HttpServletRequestrequest)
{
this.request=request;
}
publicvoidsetServletResponse(HttpServletResponseresponse)
{
this.response=response;
}
publicStringexecute()
{
//Getthecart
HttpSessionsession=request.getSession();
//Getthecart
ShoppingCartcart=(ShoppingCart)session.getAttribute(
"ShoppingCart");
try{
pleteOrder();
//cart.refreshoriginaldata();
}catch(Exceptione){
e.printStackTrace();}
//response.sendRedirect(response.encodeRedirectURL(
//"ShowConfirmation.jsp"));
returnSUCCESS;
}
}
//AddToShoppingCartAction.java
importjavax.servlet.http.*;
importcom.opensymphony.xwork2.ActionSupport;
importorg.apache.struts2.interceptor.ServletRequestAware;
importorg.apache.struts2.interceptor.ServletResponseAware;
publicclassAddToShoppingCartActionextendsActionSupportimplementsServletRequestAware,ServletResponseAware
{
privateHttpServletRequestrequest;
privateHttpServletResponseresponse;
publicvoidsetServletRequest(HttpServletRequestrequest)
{
this.request=request;
}
publicvoidsetServletResponse(HttpServletResponseresponse)
{
this.response=response;
}
publicStringexecute()
{
//GettheDVDfromtherequest
StringmovieName=request.getParameter("movieName");
StringmovieRate=request.getParameter("movieRate");
StringmovieYear=request.getParameter("movieYear");
Stringprice=request.getParameter("moviePrice");
intmovieQuantity=Integer.parseInt(
request.getParameter("movieQuantity"));
doublemoviePrice=Double.parseDouble(price);
//CreatethisDVDandaddtothecart
DVDDVDItem=newDVD(movieName,movieRate,movieYear,
moviePri