网上书店系统JSP课程设计.doc_第1页
网上书店系统JSP课程设计.doc_第2页
网上书店系统JSP课程设计.doc_第3页
网上书店系统JSP课程设计.doc_第4页
网上书店系统JSP课程设计.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Jsp课程设计专业:信息管理与信息系统年级:班级:姓名:学号:目录一 、 系统设计11需求分析12总体设计23功能设计24网上书店基本流程35. 网上书店销售系统的E-R图如上图4二网上书店各页面功能及程序代码:4三运行界面29四数据库设计30 1需求分析302表的设计31五总结31六参考文献32一 、 系统设计1需求分析 网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、登录管理、订单处理等模块。根据网上书店的基本需求,需要完成的任务如下:A. 书图查询: 当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者信息快速查询所需书目信息的功能。B. 购物车管理:当客户选择购买某图书产品时,应该能够将对应图书信息,如:价格、数量记录到对应的购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对应的购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。C. 订单处理:对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货的处理。2总体设计系统组成:网上书店系统采用了MVC设计开发模式,数据库采用mysql数据库实现。服务器采用tomcat。3功能设计1)图书信息管理该模块实现图书书目信息的分类显示,也是提供图书信息依据书名及作者信息快速搜索的功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便于客户了解所购商品。2)购物车管理用于维护每一个进入网上书店的客户对应的购物车。即将客户所选购的图书商品信息记录到对应的购物车中,以便于到收银台进行结账处理。3)订单处理根据客户购物车中的信息,以及客户所选择的送货方式和付款方式,连同客户对应的个人信息生成订单,以便于后续进行送货处理。BookMain.p图书查询4网上书店基本流程bookShow.jsp图书详情显示userRegister.jsp注册bookShopCasp购物车管理userLogin.jsp登录orderConfirm.jsp订单确认orderHistorsp订单查询5. 网上书店销售系统的E-R图如上图 二网上书店各页面功能及程序代码:Index.jsp: 欢迎光临网上书店 欢迎光临网上书店 搜索图书 请输入关键字: 查看所有图书 Additem.jspBookinfo.jsp 欢迎光临网上书店 书名 作者 出版社 出版日期 价格 % if (cart.isExist(new Integer(bookId) out.println(该图书已在购物车中); else % a href=bookinfo.jsp?add=&id=加入购物车 购物车中现有种图书      查看购物车      查看所有图书 Common.jspcatalog.jsp 欢迎光临网上书店 本网站销售的图书有: % Collection cl=bookdb.getBooks(); Iterator it=cl.iterator(); % 书名 价格 购买 a href=bookinfo.jsp?id= a href=catalog.jsp?add=加入购物车 购物车中现有种图书      查看购物车 Delitem.jspError.jsp 错误页面 Web应用程序发生错误 错误原因: Search.jsp 欢迎光临网上书店 % String strKeyword=request.getParameter(keyword); if(null=strKeyword | strKeyword.equals() response.sendRedirect(catalog.jsp); return; Collection cl=bookdb.searchBook(strKeyword); if(cl.size()=0) out.println(对不起,没有找到符合条件的图书。); out.println(返回); return; % 书名 价格 查看 购买 % Iterator it=cl.iterator(); while(it.hasNext() BookBean book=(BookBean)it.next(); String title=book.getTitle(); int bookId=book.getId(); float price=book.getPrice(); % a href=bookinfo.jsp?id= a href=bookinfo.jsp?id=详细信息 a href=search.jsp?keyword=&add= 加入购物车 购物车中现有种图书      查看购物车      回到主页 Showcart.jsp 欢迎光临网上书店 % request.setCharacterEncoding(GB2312); String action=request.getParameter(action); if(action!=null & action.equals(保存修改) String strItemNum=request.getParameter(itemnum); if(null=strItemNum | .equals(strItemNum) throw new ServletException(非法的参数); int itemNum=Integer.parseInt(strItemNum); for(int i=0;iitemNum;i+) String strNum=request.getParameter(num_+i); String strBookId=request.getParameter(book_+i); int quantity=Integer.parseInt(strNum); int bookId=Integer.parseInt(strBookId); boolean bEnough=bookdb.isAmountEnough(bookId,quantity); if(bEnough) cart.setItemNum(new Integer(bookId),quantity); else BookBean book=bookdb.getBook(bookId); out.println(); out.print(+book.getTitle()+); out.print(的库存数量只有+book.getAmount()+本,请调整购买数量!); out.println(); % % Collection cl=cart.getItems(); if(cl.size()=0) out.println(购物车中没有图书); % 继续购物 % return; Iterator it=cl.iterator(); % 书名 价格 数量 小计 取消 input type=text name= value= size=2/ input type=hidden name= value=/ a href=delitem.jsp?id=删除 合计 input type=hidden name=itemnum value=/      继续购物      进入结算中心 Bookbean.javapackage Bean;import java.io.Serializable;public class BookBean implements Serializable private int id; private String title; private String author; private String bookconcern; private String publish_date; private float price; private int amount; private String remark; public BookBean() public BookBean(int id, String title, String author, String bookconcern, String publish_date, float price, int amount, String remark) this.id=id; this.title=title; this.author=author; this.bookconcern=bookconcern; this.publish_date=publish_date; this.price=price; this.amount=amount; this.remark=remark; public int getId() return id; public void setTitle(String title) this.title = title; public void setAuthor(String author) this.author = author; public void setBookconcern(String bookconcern) this.bookconcern = bookconcern; public void setPublish_date(String publish_date) this.publish_date = publish_date; public void setPrice(float price) this.price = price; public void setAmount(int amount) this.amount = amount; public void setRemark(String remark) this.remark = remark; public String getTitle() return title; public String getAuthor() return author; public String getBookconcern() return bookconcern; public String getPublish_date() return publish_date; public float getPrice() return price; public int getAmount() return amount; public String getRemark() return remark; Bookdbbean.javapackage Bean;import java.io.Serializable;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.sql.*;import javax.sql.DataSource;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;public class BookDBBean implements Serializable /*private DataSource ds=null; public BookDBBean() throws NamingException Context ctx = new InitialContext(); ds = (DataSource) ctx.lookup(java:comp/env/jdbc/bookstore); */ String url=jdbc:mysql:/localhost:3306/bookstore; String username=root; String password=root; String driverClass=com.mysql.jdbc.Driver; private Connection conn;public BookDBBean() throws ExceptionClass.forName(driverClass); /* * 得到数据库连接。 */ public Connection getConnection() throws SQLException return DriverManager.getConnection(url,username,password); /* * 关闭连接对象。 */ protected void closeConnection(Connection conn) if(conn!=null) try conn.close(); conn=null; catch (SQLException ex) ex.printStackTrace(); /* * 关闭Statement对象。 */ protected void closeStatement(Statement stmt) if(stmt!=null) try stmt.close(); stmt=null; catch (SQLException ex) ex.printStackTrace(); /* * 关闭PreparedStatement对象。 */ protected void closePreparedStatement(PreparedStatement pstmt) if(pstmt!=null) try pstmt.close(); pstmt=null; catch (SQLException ex) ex.printStackTrace(); /* * 关闭ResultSet对象。 */ protected void closeResultSet(ResultSet rs) if(rs!=null) try rs.close(); rs=null; catch (SQLException ex) ex.printStackTrace(); /* * 得到数据库中所有的图书信息。 */ public Collection getBooks() throws SQLException Connection conn=null; Statement stmt=null; ResultSet rs=null; ArrayList bookList=new ArrayList(); try conn = getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery(select * from bookinfo); while (rs.next() BookBean book = new BookBean(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getFloat(6), rs.getInt(7), rs.getString(8); bookList.add(book); return bookList; finally closeResultSet(rs); closeStatement(stmt); closeConnection(conn); /* *得到选择的图书信息。 */ public BookBean getBook(int bookId) throws SQLException Connection conn=null; PreparedStatement pstmt=null; ResultSet rs=null; try conn = getConnection(); pstmt = conn.prepareStatement(select * from bookinfo where id = ?); pstmt.setInt(1,bookId); rs=pstmt.executeQuery(); BookBean book=null; if(rs.next() book= new BookBean(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getFloat(6), rs.getInt(7), rs.getString(8); return book; finally closeResultSet(rs); closePreparedStatement(pstmt); closeConnection(conn)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论