dvd shopping cart project tutorial.docx
- 文档编号:10045025
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:33
- 大小:3.47MB
dvd shopping cart project tutorial.docx
《dvd shopping cart project tutorial.docx》由会员分享,可在线阅读,更多相关《dvd shopping cart project tutorial.docx(33页珍藏版)》请在冰点文库上搜索。
dvdshoppingcartprojecttutorial
DVDShoppingCartProject
DVDshoppingcartproject(JavaandOracle)usingStruts2Framework:
Beforestartingthistutorial,weassumeyouhavealreadyinstalledJava,OracleandNetBeansIDE(version5.5)andStruts2(plugins).WewillbuildourjavaapplicationusingNetBeansIDE.
Step1:
AttheNetBeanStartup
SelectFile->NewProject
ThenChooseJavaWeb>WebApplicationthenpressNext
Inthenewdialogbox,nameyourprojectandchoosealocationforitandPressNext.
InthenextdialogboxselecttheserverGlassfishV3thenpressNext
InthenextdialogboxselecttheStruts2FrameworkthenpressFinish
YouwillseeadefaultpageHelloWorld.jspandthedirectorystructurelikethis:
Step2:
IntheDirectoryStructureclickonSourcePackageandthenRightclickontheexampleandselectNew,clickontheJavaClassfromthedropdownmenu.
NameyourclassnameandchoosethelocationtobesourcepackageandclickFinish.
EdittheSourceCodeintheShowAction.java
//ShowAction.java
importjava.sql.SQLException;
importjavax.servlet.http.*;
importcom.opensymphony.xwork2.ActionSupport;
importjava.util.ArrayList;
importorg.apache.struts2.interceptor.ServletRequestAware;
importorg.apache.struts2.interceptor.ServletResponseAware;
publicclassShowActionextendsActionSupportimplementsServletRequestAware,ServletResponseAware
{
privateHttpServletRequestrequest;
privateHttpServletResponseresponse;
publicvoidsetServletRequest(HttpServletRequestrequest)
{
this.request=request;
}
publicvoidsetServletResponse(HttpServletResponseresponse)
{
this.response=response;
}
publicStringexecute()throwsSQLException
{
ProductDataBeanpdb=newProductDataBean();
ArrayListal=pdb.getProductList();
request.setAttribute("productlist",al);
returnSUCCESS;
}
}
LiketheaboveShowAction.javaaddtheShoppingCart.java,RemoveItemAction.java,ProductDataBean.java,DVD.java,CheckoutAction.java,AddToShoppingCartAction.javatotheSourcePackage.
//ShoppingCart.java
importjava.util.*;
importjava.sql.*;
publicclassShoppingCartimplementsjava.io.Serializable{
privateConnectionconnection;
privatePreparedStatementaddRecord,getRecords;
privateStatementstatement;
privatedoubletotalPrice;
staticintCARTID=1;
protectedVectoritems;
publicShoppingCart(){
items=newVector();
}
publicVectorgetItems(){
return(Vector)items.clone();
}
publicvoidaddItem(DVDnewItem){
booleanflag=false;
if(items.size()==0){
items.addElement(newItem);
return;
}
for(inti=0;i 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dvd shopping cart project tutorial