您的位置:首页 > 其它

网上书店购物车模拟

2008-07-02 19:09 232 查看
bean包
bean包共四个类,用于包装。其中两个集合,BOOKSTORE中的HASHMAP以及ShopCar中的ArrayList
packagebean;

publicclassBook{

privateintid;

privateStringname;

privatedoubleprice;

publicBook(){

}

publicBook(intid,Stringname,doubleprice){

this.id=id;

this.name=name;

this.price=price;

}

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicdoublegetPrice(){

returnprice;

}

publicvoidsetPrice(doubleprice){

this.price=price;

}

}
packagebean;

importjava.util.*;

publicclassBookStore{

privateBookbook;

privateintnum;

HashMapbookstore=newHashMap();

publicBookStore(){

bookstore.put(1,newBook(1,"England",60.0));

bookstore.put(2,newBook(2,"Japanese",60.0));

bookstore.put(3,newBook(3,"American",60.0));

bookstore.put(4,newBook(4,"Britiash",60.0));

bookstore.put(5,newBook(5,"Button",60.0));

bookstore.put(6,newBook(6,"java",60.0));

bookstore.put(7,newBook(7,"sports",60.0));

bookstore.put(8,newBook(8,"Ellle",60.0));

}

publicBookgetBook(){

returnbook;

}

publicvoidsetBook(Bookbook){

this.book=book;

}

publicintgetNum(){

returnnum;

}

publicvoidsetNum(intnum){

this.num=num;

}

publicHashMapgetBookStore(){

returnbookstore;

}

}
packagebean;
publicclassLine{
privateintcode;
privateBookbook;
privateintnum;
publicLine(){
}
publicLine(intcode,Bookbook,intnum){
this.book=book;
this.num=num;
this.code=code;
}
publicBookgetBook(){
returnbook;
}
publicvoidsetBook(Bookbook){
this.book=book;
}
publicintgetNum(){
returnnum;
}
publicvoidsetNum(intnum){
if(num>0){
this.num=num;
}
else{
this.num=1;
}
}
publicintgetCode(){
returncode;
}
publicvoidsetCode(intcode){
this.code=code;
}
publicbooleanequals(Lineline){
intid=book.getId();
intnextId=line.getBook().getId();
if(id==nextId){
returntrue;
}else{
returnfalse;
}
}
publicinthashCode(){
returnbook.getId();
}
}
packagebean;
importjava.util.*;
publicclassShopCar{
ArrayList<Line>lines;
publicShopCar(){

lines=newArrayList<Line>();
}
publicArrayList<Line>getLines(){
returnlines;
}
publicvoidsetLines(ArrayList<Line>lines){
this.lines=lines;
}

publicvoidaddLine(Linel){
for(inti=0;i<lines.size();i++){
Lineline=(Line)lines.get(i);
if(l.equals(line)){
line.setNum(l.getNum()+line.getNum());
return;
}

}
lines.add(l);

}
publicvoiddelLine(Linel){
lines.remove(l);
}
}
Servlet包
主要四个类,实现增删改查
packageservlet;
importjava.io.IOException;importbean.Book;importbean.BookStore;importbean.ShopCar;importbean.Line;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;
publicclassAddServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstubaddProcess(request,response);}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstubaddProcess(request,response);}publicvoidaddProcess(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ShopCarshopcar;if(request.getSession().getAttribute("ShopCar")==null){shopcar=newShopCar();}else{shopcar=(ShopCar)request.getSession().getAttribute("ShopCar");}BookStorebookstore=newBookStore();addLine(request,shopcar,bookstore);request.getRequestDispatcher("ListCart.jsp").forward(request,response);
}publicvoidaddLine(HttpServletRequestrequest,ShopCarshopcar,BookStorebookstore){Stringid=request.getParameter("id");intcode=Integer.parseInt(id);Bookbook=(Book)bookstore.getBookStore().get(Integer.parseInt(id));intnum=Integer.parseInt(request.getParameter(request.getParameter("id")));if(num<1){num=1;}Linel=newLine(code,book,num);shopcar.addLine(l);HttpSessionsession=request.getSession();session.setAttribute("ShopCar",shopcar);}}
packageservlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importjava.io.*;importjava.util.*;importbean.Line;importbean.ShopCar;publicclassDelServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstubdelProcess(request,response);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstubdelProcess(request,response);}publicvoiddelProcess(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setCharacterEncoding("gb2312");PrintWriterout=response.getWriter();ShopCarshopcar=(ShopCar)request.getSession().getAttribute("ShopCar");delLine(request,shopcar);request.getRequestDispatcher("ListCart.jsp").forward(request,response);out.flush();out.close();}publicvoiddelLine(HttpServletRequestrequest,ShopCarshopcar){intid=Integer.parseInt(request.getParameter("id"));ArrayListlines=shopcar.getLines();for(inti=0;i<lines.size();i++){Lineline=(Line)lines.get(i);if(id==line.getBook().getId()){lines.remove(line);shopcar.setLines(lines);HttpSessionsession=request.getSession();session.setAttribute("ShopCar",shopcar);}}}}
packageservlet;
importjava.io.IOException;
importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.*;importbean.ShopCar;
publicclassListServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstublistProcess(request,response);}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstublistProcess(request,response);}publicvoidlistProcess(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setCharacterEncoding("gb2312");PrintWriterout=response.getWriter();ShopCarshopcar;if(request.getSession().getAttribute("ShopCar")==null){out.println("<script>location.href='ListCart.jsp';</script>");}else{shopcar=(ShopCar)request.getSession().getAttribute("ShopCar");//System.out.println(shopcar.getLines().size());if(shopcar.getLines()==null||shopcar.getLines().size()==0){out.println("<script>alert('comehere');location.href='ListBookStore.jsp';</script>");}request.getRequestDispatcher("ListCart.jsp").forward(request,response);}out.flush();out.close();}}
packageservlet;
importjava.io.IOException;importjava.util.ArrayList;
importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;
importbean.Line;importbean.ShopCar;
publicclassUpdateServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstubupdateProcess(request,response);}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstubupdateProcess(request,response);}publicvoidupdateProcess(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ShopCarshopcar=(ShopCar)request.getSession().getAttribute("ShopCar");updateLines(request,shopcar);request.getRequestDispatcher("ListCart.jsp").forward(request,response);}publicvoidupdateLines(HttpServletRequestrequest,ShopCarshopcar){intid=Integer.parseInt(request.getParameter("id"));ArrayListlines=(ArrayList)shopcar.getLines();intnum=Integer.parseInt(request.getParameter(request.getParameter("id")));for(inti=0;i<lines.size();i++){Lineline=(Line)lines.get(i);if(id==line.getBook().getId()){line.setNum(num);shopcar.setLines(lines);}}HttpSessionsession=request.getSession();session.setAttribute("ShopCar",shopcar);}}
Jsp页面
confirm.jsp
<%@pagelanguage="java"import="java.util.*,bean.Line,bean.BookStore,bean.ShopCar"pageEncoding="gb2312"%>
<script>functiondoSubmit(){alert('欢迎再次购买!');window.close();}
</script>
<html><bodybgcolor="silver"><divalign=center><fontcolor="red">提交订单</font><formaction=""method="post"name=form1><tableborder=1><tr><tdwidth=s"10%">ID</td><tdwidth="50%">书名</td><tdwidth="10%">价格</td><tdwidth="30%">数量</td></tr>
<%ShopCarshopcar=(ShopCar)session.getAttribute("ShopCar");if(shopcar==null){shopcar=newShopCar();if(shopcar.getLines().size()==0){%><script>alert('购物车为空');location.href="ListBookStore.jsp";</script><%}}if(shopcar.getLines().size()==0){%><script>alert('购物车为空');location.href="ListBookStore.jsp";</script><%}%><%ArrayList<Line>lines=(ArrayList<Line>)shopcar.getLines();for(inti=0;i<lines.size();i++){Lineline=(Line)lines.get(i);%><tr><td><%=line.getBook().getId()%></td><td><%=line.getBook().getName()%></td><td><%=line.getBook().getPrice()%></td><td><%=line.getNum()%></td>
</tr>
<%}%><%doublesum=0;for(inti=0;i<lines.size();i++){Lineline=(Line)lines.get(i);if(line.getNum()==1){sum+=line.getBook().getPrice();}else{sum+=line.getBook().getPrice()*line.getNum();}}%>
<tr><tdcolspan="5"align="right">总价为:<%=sum%></td></tr></table><table><tr><td><inputtype="submit"value="确认订单"onclick="doSubmit();"></td></tr></table></form></div></body></html>
BookStore.jsp
<%@pagelanguage="java"import="java.util.*,bean.BookStore,bean.Book"pageEncoding="gb2312"%>
<jsp:useBeanid="store"scope="application"class="bean.BookStore"/>
<script>functiondoSubmit(type){varnum=0;if(type=="buy"){for(vari=0;i<form1.id.length;i++){if(form1.id[i].checked){num=num+1;}}if(num==0){alert('至少选择一个');return;}}if(type=="buy"){form1.action="add";}else{form1.action="list";}form1.submit();
}</script><html><bodybgcolor="silver"><divalign=center><fontcolor="red">欢迎光临ESUN书店超人分店!</font><formmethod="post"name="form1"><tableborder=1><tr><tdwidth="10%"> </td><tdwidth="50%">书名</td><tdwidth="10%">价格</td><tdwidth="30%">数量</td></tr><%intsize=store.getBookStore().size();for(inti=1;i<size;i++){Bookbook=(Book)store.getBookStore().get(i);%><tr><td><inputtype="radio"name="id"value="<%=book.getId()%>"></td><td><%=book.getName()%></td><td><%=book.getPrice()%></td><td><inputtype="text"name="<%=book.getId()%>"value="1"></td></tr>
<%}%>
</table><table><tr><td><inputtype="button"value="购买"onclick="doSubmit('buy');"></td><td><inputtype="button"value="查看购物车"onclick="doSubmit('list');"></td></tr></table></form>
</div></body></html>
ListBook.jsp
<%@pagelanguage="java"import="java.util.*,bean.ShopCar,bean.Line"pageEncoding="gb2312"%>
<script>functiondoBack(){location.href="ListBookStore.jsp";
}functiondoSubmit(){location.href="confirm.jsp";
}functiondoDel(){if(form1.id.length==undefined){if(form1.id.checked){form1.action="del";form1.submit();}else{alert('选择一个');}}else{varnum=0;for(vari=0;i<form1.id.length;i++){if(form1.id[i].checked){num=num+1;}}if(num==0){alert('至少选择一个');return;}form1.action="del";form1.submit();}}functiondoUpdate(){if(form1.id.length==undefined){if(form1.id.checked){form1.action="update";form1.submit();}else{alert('选择一个');}}else{varnum=0;for(vari=0;i<form1.id.length;i++){if(form1.id[i].checked){num=num+1;}}if(num==0){alert('至少选择一个');return;}form1.action="update";form1.submit();}
}</script>
<html>
<bodybgcolor="silver"><divalign=center><fontcolor="red">购物车中的书籍明细</font><formmethod="post"name=form1><tableborder=1><tr><tdwidth="10%"> </td><tdwidth="50%">书名</td><tdwidth="10%">价格</td><tdwidth="30%">数量</td></tr>
<%ShopCarshopcar=(ShopCar)session.getAttribute("ShopCar");if(shopcar==null){shopcar=newShopCar();}ArrayList<Line>lines=(ArrayList<Line>)shopcar.getLines();for(inti=0;i<lines.size();i++){Lineline=(Line)lines.get(i);%><tr><td><inputtype="radio"name="id"value="<%=line.getBook().getId()%>"></td>
<td><%=line.getBook().getName()%></td><td><%=line.getBook().getPrice()%></td><td><inputtype="text"name="<%=line.getBook().getId()%>"value=<%=line.getNum()%>></td>
</tr>
<%}%><%doublesum=0;for(inti=0;i<lines.size();i++){Lineline=(Line)lines.get(i);if(line.getNum()==1){sum+=line.getBook().getPrice();}else{sum+=line.getBook().getPrice()*line.getNum();}}%><tr><tdcolspan="5"align="right">总和:<%=sum%>
</td></tr>
</table><table><tr><td><inputtype="button"value="修改"onclick="doUpdate();"></td><td><inputtype="button"value="删除"onclick="doDel();"></td><td><inputtype="button"value="返回"onclick="doBack();"></td><td><inputtype="button"value="提交订单"onclick="doSubmit();"></td></tr></table></form></div></body></html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: