网上购书系统的设计.doc_第1页
网上购书系统的设计.doc_第2页
网上购书系统的设计.doc_第3页
网上购书系统的设计.doc_第4页
网上购书系统的设计.doc_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

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

文档简介

网上购书系统的设计方案本说明是网上购书系统案例研究项目软件产品的设计和实现说明,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计和出错处理设计等,记录了系统整体实现上技术层面上的考虑,并且以需求说明作为依据。同时该文档将作为产品实现、特性要求和控制的依据。本文研究了一种基于数据关联规则网上书店系统,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、界面更直观等优点。网上书店在我国刚起步,但发展很快。随着我国互联网的更加普及和网上书店的更趋成熟,会有越来越大的消费群体,市场潜力会得到充分发挥阐述整个个性化页面生成系统的系统结构及工作原理,分析了系统实现中的特殊性、难点和重点。设计实现用户管理、图书目录管理、图书信息录入管理、书店定单管理、图书的浏览和查找、书店购物结帐功能等JSP页面 。分析并解决实现中的若干技术问题,建立完整的网上书店,进行测试并分析结果。本系统是用struts框架在网络上架构一个动态的电子商务网站,它是在Windows XP下,以mysql为数据库开发平台,tomcat网络信息服务作为应用服务器,采用JSP+struts技术开发的网上购书系统。它分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理功能;后台部分由管理员使用,主要包括商品管理,处理订单,用户信息管理等功能。建立后的网站系统是一个动态、交互式、具有商品提供、系统管理、等功能的电子商务网站。关键词网上书店;struts;JSP;Sql server 2005- 21 -目录第1章 网上购书系统详细设计与实现31.1 软件体系结构设计31.2 数据库设计31.2.1 数据库技术概念描述31.2.2 数据库管理系统(DBMS)概述41.2.3 数据字典41.3 类设计61.3.1 com.bookstore.action包中的类61.3.2 com.bookstore.bean 包中的类81.3.3 com.bookstore.dao包中的类101.4 功能设计121.4.1 登录功能121.4.2 购买或查询书籍功能121.4.3 订单管理功能131.4.4 图书查询和管理功能141.4.5 用户管理功能151.5 算法设计161.5.1 购买图书功能算法设计161.5.2 登录功能算法设计171.5.3 查询图书功能算法设计171.5.4 管理用户算法设计171.5.5 订单维护算法设计171.5.6 图书详细信息算法设计171.6 界面设计181.7 本章小结19第1章 网上购书系统详细设计与实现1.1 软件体系结构设计本系统主要有两层,一层是存储管理,那是数据库存储了了本系统用到的数据库表以及数据。下面主要是管理员管理,和用户的操作。其实用户也可以管理,只不过可以管理自己的密码,和所下的订单。对于密码用户可以修改,也可以让管理员修改。用户所下的订单,可以删除。可以删除自己某个订单。至于管理员,权限就很广了,管理员不但可以对订单进行处理和查询,还可以对图书信息和用户信息进行维护和查询。同样是列出列表,但是管理员可以按图书的销量;新上架多少本的图书;按图书的作者,出版社,分类(java,数学,英语等.),书名进行模糊查询,点击图书的图片可以看到图书的详细信息,删除该书,更改该书的库存量更改图书的照片。同样也可以添加图书,利用填写表单的方式添加一本图书,当然有表单验证,比如书籍的销售量不能是负的,书籍的名称不能是数字,字母等。对于用户,单机用户名可以查看用户的详细信息,而且用户的密码作为管理员可以修改,管理员可以删除用户。管理员可以对所有用户的所有订单以及所有订单下的订单项进行维护。本系统是基于MVC设计模式,B/S架构的在线购书电子商务应用系统,它具有以下功能:1.在线图书浏览、注册用登录、图书购买及个人信息管理等功能。2.图书信息添加、关键字搜索(包括分类查询和书名查询,按作者出版社查询等)、详情查询、信息修改、删除;用户信息详情查询、修改、删除;订单信息详情查询、修改、删除及订单用户详情查询。本系统中的数据库查询采用了分页式查询处理技术。这样便可大大提高数据的查询速度,同时可避免因查询的数据量过大而引起数据库服务器的超负荷运行甚至系统崩溃。此外,本系统使用MVC模式,方便了今后对系统的维护及扩展。系统至少可支持100个用户的同时在线访问。本系统将使用MySql5.0作为数据库存储系统。开发平台为Myecplise7.1.开发语言为java/j2EE。1.2 数据库设计1.2.1 数据库技术概念描述数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。数据库,是存放数据的仓库。数据是按一定的格式存放的。数据库是指长期储存在计算机内、有组织的、可共享的数据集合,它是数据管理的最新技术,是计算机科学的重要分支。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。今天,信息资源已经成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个企业或者组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)等,越来越多新的应用领域采用数据库存储和处理他们的信息资源。对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频率已成为衡量这个国家信息化程度的重要标志1.2.2 数据库管理系统(DBMS)概述数据库管理系统是位于用户与操作系统之间的一层数据管理软件。他是数据库系统的一个重要组成部分,其主要功能包括以下几个方面:1数据定义功能DBMS提供数据定义语言(DDL),用户通过它可以方便地对数据库中的数据对象进行定义。2数据操纵功能DBMS还提供数据操纵语言(DML),用户可以使用DML操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。3数据库的运行管理数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。4数据库的建立和维护功能它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。1.2.3 数据字典网上商店中有以下几个实体:用户,图书分类,图书,订单,订单项。1.订单项表(orderitem)Orderitemid (订单项id),quantity (订单项所对应的图书的购买的数量),ordersid (订单项所属订单的编号), bookid(订单项所对应的书籍的编号)。见订单项表如表3-1所示。表3-1 orderitem订单项表字段名称数据类型键值自增允许为空描述OrderitemidInt主键增一标志idQuantityInt数量OrdersidInt外键是所属订单bookidInt外键是所属图书编号 2. 用户表(user)id(用户的编号),username(用户名),password(密码),realname(用户的真实姓名) ,sex(用户的性别),email(用户的电子邮箱),address(用户的地址),post(用户的邮编),tel(用户的电话号),logintime(用户登录的次数),role(角色)。见用户表如表3-2所示。表 3-2 user用户表字段名称数据类型主键自增允许为空描述id Int是增一标志idusernameVarchar(20)用户名PasswordVarchar(20)密码realnameVarchar(50)是真实姓名SexVarchar(10)是性别emailVarchar(50)电子邮箱addressVarchar(50)是地址PostVarchar(25)邮编telVarchar(25)电话logintimeInt登陆次数RoleInt角色 3.订单表(order)ordersid(订单编号),userid(订购者的编号),ordersdate(订单的日期)state(订单状态)。见订单表如表3-3所示。表3-3order订单表字段名称数据类型主键自增允许为空描述orseridInt是增一标志idordersdateVarchar(20)订单时间stateVarchar(10)订单状态UseridInt订购者id(外)4.图书表(book)bookid(图书编号) ,bookname(图书名字),price(价格),picture(图书的图片路径),kindname(图书分类),author(作者),publish(出版社),sellcount(销售量),storage(库存量)。见图书表如表3-4所示。表3-4book图书表字段名称数据类型主键自增允许为空描述BookidInt是增一标志idBooknameVarchar(20)图书名PriceInt价格PictureVarchar(30)是封面kindnameVarchar(10)图书类别authorVarchar(15)作者publishVarchar(50)出版社sellcountInt销售量storageInt库存量1.3 类设计系统功能包主要有:与数据库的表对应属性字段的实体com.bookstore.bean;在dao文件中,编写jdbc代码,让实体bean与数据库交互的com.bookstore.dao;介于jsp与dao文件之间,用于调用dao文件com.bookstore.action;与其对应的bean文件一样,但是用户可以在jsp页面提交后,在action中可以自动获得,类继承com.bookstore.form;Junit测试包,是一种白盒测试,专门测试dao文件是否能用,有没有错误com.bookstore.test。1.3.1 com.bookstore.action包中的类 bookaction.java中方法详细介绍1.showbook() 查询出所有图书,转入一个jsp显示书籍列表。2.viewbook()根据bookid查询图书的详细信息,转入一个jsp显示详细信息。3.NewTenBook()查询出最新上架的十本书籍,转入一个jsp显示这些书籍的书籍列表。4.selectColumn()显示图书按什么查询的字段,按作者,出版社,还是书籍类型,就是选择要显示的字段转入一个jsp显示。5.showBookColumn()根据上个方法选择的字段,将字段值查出来,查询出按条件查询出的书籍,转入jsp中并显示书籍列表6.sortBookTw() 显示销售量前20的书籍,按销售量降序排列,放到一个列表中。再跳转到一个jsp中显示这个列表。7.sortBookAll()将所有书籍按销售量排列,按销售量降序排列,放到一个列表中。再跳转到一个jsp中,遍历显示这个列表。8.addBook()添加图书。 useraction.java中方法详细介绍1.register()用户注册,获取表单的值,传到数据库,来添加一个普通用户。2.login()用户登录,先查询出在数据库中有无该用户名,在判断和数据库中的密码是否一致,然后再根据用户名查询出该登录用户的角色是普通用户还是管理员。跳转到不同的页面。3.showUser()先判断是不是管理员,如果是查询出所有用户,放到一个列表里,再跳转到一个jsp中遍历该列表,来显示所有用户信息。4.viewUserById()根据用户传到此方法的id,查询数据库该用户的详细信息,放到request对象中,传入下一个jsp中。5.updateUser()根据用户的id和用户新的password更改数据库中该用户的密码。6. deleteById()根据用户id删除该用户。7.logout() 退出系统,关闭当前会话(删除session中的信息),回到主页。 Ordersaction中方法详细介绍1.Public static Cart cart 不是一个方法,而是一个静态变量。是一个购物车对象,详见购物车类请看第二章。为什么要设置为静态的呢?因为购书可能反复购书。调用多次ordersaction.java,可能会产生多个ordersaction.java实例,如果设置成静态的,有利于共享,一个用户在不同的会话(当禁了Cookies时session不一样,当然IE浏览器除外,火狐能看出来)共享一个购物车。 2.shopping() 购买书籍,每一次提交完购买数量后都会调用该方法。将图书放入到购物车中。3. removeItem()清空购物车中的内容。4.saveOrder()用户点击进入结算中心,会将订单和订单项存到数据库中,等待管理员维护。先遍历购物车,将购物车中的订单项遍历出来,依次保存在订单中。再将订单保存在数据库中。5.selectAllOrders() 显示所有的订单到一个jsp中,跟显示所有图书,显示所有用户一样。这个只有管理员才能操作的,该方法会先判断权限是不是管理员身份。6.viewOrderById()显示出一个订单的详细信息包括订单的状态,和该订单下所有的订单项。7.showMyOrders()显示当前用户的所有订单。8.deleteOrderById()根据订单的编号,删除一个订单。9.ModifyOrdersState()只有管理员才能调用,更改某个订单的状态。 UploadAction.Java下的方法execute()更改该书的图片,将图片上传到wedRoot下的image文件夹中。由于Uploadaction.java没有继承dispatchAction,所以只有一个execute方法。1.3.2 com.bookstore.bean 包中的类1.图书类book.javabook类 中有bookid(图书编号) ,bookname(图书名字),price(价格),picture(图书的图片路径),kindname(图书分类),author(作者),publish(出版社),sellcount(销售量),storage(库存量)。见实体类图如图3-7所示。2.用户类user.javaUse中id,username,password,realname,sex,email,address,post,Tel,logintimes,role,orderses,.分别是用户编号,用户名,密码,真实姓名,性别,电子邮箱,家庭住址,邮编,电话,登陆次数,角色(包括管理员和普通用户,管理员是1,用户是2),orderses是一个HashSet集合,包括一个用户对象的所有的订单,orderses就是一个所有订单集合。一个用户对应多个订单。见实体类图如图3-7所示。3.订单类orders.javaOrdersid(订单号),user1(订单所属的用户),orderitemdate(订单生成的时间),state(订单状态:包括处理中;缺货中;已发货如果设置成已发货那么订单里的订单项里的图书销售量相应的增加,同时库存量减少)。Orderitems(一个订单里所有的订单项的集合)。一个订单对应多个订单项。但一个订单指数与一个用户。见实体类图如图3-7所示。4订单项orderitem.javaOrderitemid(订单项编号),quantity(购买图书的个数),orders1(该订单项所属的订单),book1(该订单项对应的图书),一个订单项就是对图书的封装,订单项中除了对图书的封装还有该图书的购买数量。见实体类图如图3-7所示。5.购物车Cart.javaCart类中有一个属性也是集合的,但是items其实是该订单所有订单项的集合,item是Map类型的,健是图书的编号,值是订单项。见实体类图如图3-7所示。Cart中的方法public Cart()是构造函数,初始化items,addBook(Integer bookid,orderitem orderitem1)想购车中增加一本书,updateCart(Integer bookid,int quantity)更改图书数量,public int getTotalPrice()计算总价。见实体类图如图3-7所示。6. 备注:以上类说明省略setXXX() getXXX()方法。图3-7实体类图1.3.3 com.bookstore.dao包中的类 bookdao.java中的方法1.ArrayListshowBook() 连接数据库显示所有的图书信息,放在一个列表中,返回该列表。该方法被bookaction.java中的showbook()调用。2.book viewBook(int id) 连接数据库,根据id将该书的所有字段信息查出来,复制到一个book对象中。返回该对象。该方法被bookaction.java中的viewbookById()调用。3.ArrayListshowNewTenBook() 连接数据库将最新上架的是本书的详细信息查出来,放到一个列表中,返回该列表。该方法被bookaction.java中的NewTenBook()方法调用。4.ArrayListSelectColumn(String column) 根据参数值,参数值为book表中的三个字段其中之一author或publish或kindname(看用户选择按什么查找,按出版社,查出来的就是各个出版社。按作者查出来的就是该数据库中book表中的所有作者)查询出该字段下的所有值,放入一个列表中,返回该列表。被bookaction.java中的SelectColumn()方法调用。5.ArrayListShowBookColumn(),根据上一个选择,比如选择了按作者查而后调用了上面的方法又选择了作者是“鲁迅”的书,那么该方法就将鲁迅的所有书籍从数据库中查出来,放到一个列表中。如果选择了按出版社,上边的方法会将所有的出版社查出来,假如有“教育出版社”,“电子工业出版社”,“清华大学出版社”等,那么我选择了清华大学出版社,提交调用了本方法。会将清华大学出版社出版的所有书籍查询出来,放入一个列表中。同理,按照图书的kindname查询也一样。最后返回该列表。本方法被bookaction中的showBookColumn()方法调用。6.ArrayListshowBookTw()按降序查询出销售量排名前20的书籍,放入一个列表中,返回该列表。该方法被bookaction.java中的SortBookTw()用。7.ArrayListshowBookAll()查询出所有的书籍的销售排行,放入一个列表中,返回该列表。该方法被bookaction.java的SortBookAll()方法调用。8.Void modifySellCountStorage(int bookid,int newsellCount,int newStore)更改订单状态,假如订单状态更改为finished时, 该订单的订单项所对应的书籍的销售量增加至newSellcount, 库存量减少至newStorage。该方法被ordersaction.java中的modifyOrdersState()方法所调用。 userdao.java中的方法1.int login(String username,String password) ,用户登录验证并调用同类中的login2(Stringusername)。本方法被useraction.java中的login()方法调用。2.int login2(String username)用户每一次登录,将登录的次数加1。本方法被useraction.java中的login()方法调用。3.int getRole(String username) 查询出当前用户的角色,返回当前用户的角色,被useraction.java中的login()方法调用,来跳转到不同的页面。4.addUser1(user user1) 注册一个新用户,其实就是添加一个新用户到数据库中。此方法被useraction.java中的login()方法调用。5.ArrayListshowuser(),将所有的用户查询出来放到一个列表中。并返回该列表。该方法被useraction.java中的showUser()方法调用。6.user viewUser(int id) ,根据id查询出该用户的详细信息,复制到一个user对象中去,返回该对象,该方法被useraction.java中的viewUserById()方法调用。7.String updateUser(int id,String password)根据id和password更新该用户的密码。该方法被useraction.java中的updateUser()方法调用。8.deleteUser(int id) 根据传进来的id删除这个用户,返回用户id,此方法被useraction.java中的DeleteById()方法调用。9.int getUserId(String username) 根据用户名字返回用户的id号。 ordersdao.java中的方法1.int saveOrder(orders order),用户生成一个订单 ,并将订单详细信息,并将这个订单存到一个orders 的一个对象中,将这个对象的各个属性的值存到数据库对应的字段的值中。就是将订单存到数据库。该方法被ordersaction.java中的saveOrder()方法调用。2.ArrayList selectAllOrders(),从数据库里查询所有订单放到一个列表中。返回该列表。该方法被ordersaction.java中的selectAllOrders()调用。3.HashSet viewOrderById(int ordersid),根据订单号查询该订单的详细信息,和该订单下所有订单项,以及订单项中图书的库存量,是一个多表查询。并将查询出来的这些订单项放到一个集合中。该方法被useraction.java中的viewOrderById()调用。4.String modifyOrdersState(int modifyId,String state),更改订单的状态。第一个参数为要更改状态的订单的编号(id号),返回该订单的新状态,该方法被ordersaction.java中的modifyOrdersState()方法所调用。 orderitemdao.java中的方法int addorderitem(orderitem orderitem1)增加一个订单项,在调用useraction.java中的saveOrder()方法的时候不但要调用ordersdao.java中的saveOrder(orders order)保存订单,还要将该订单中的所有的订单项保存在数据库中。 1.4 功能设计1.4.1 登录功能根据输入的名字和密码查找数据库中是否有该用户,以及密码对不对。若登陆成功则转入两种页面,一种是普通用户登陆成功界面,一种是管理员登陆成功界面用mapping.findForward(“”)实现。如果是登陆没成功,那就找到登陆没成功界面,或注册,或重新登录。见登录时序图如图3-11所示。 图3-11登录时序图1.4.2 购买或查询书籍功能如果普通用户登录成功后,点击超级链接“查看所有书籍”,会调用bookaction中的showbook()方法,在调用bookdao中的showbook()方法,将书籍列表放入一个集合中,集合是ArrayList类型的,再跳转到book_index.jsp页面中。在book_index.jsp页面中,在book_index.jsp中如果点击某一图书的图片,会将该书的id号传入到后台bookaction中调用bookaction中的viewBookById()方法查出该书的详细信息。将资源传入到book_view.jsp中。在book_view.jsp中填写购书表单,只需填购买数量,点击提交调用shopping()方法,如果用户没登陆跳转到notlogin.jsp中提示先登录在购买,如果已经登录,将书保存在购物车中,可以购买更多书籍,或者更新购物车中已有书籍的数量,或清空购物车,或退出系统。也可进入结算中心保存订单。如果用户已登录那么订单将被保存。见查询图书购买时序图如图3-12所示。图3-12查询购买图书时序图1.4.3 订单管理功能管理员登陆成功后点击查看所有订单。调用orderaction.java中的selectAllorders()的方法查询出所有订单,放入一个列表中,在order_index.jsp页面中遍历列表中所有的订单。单击订单的订单号,将订单号传入到后台,查出该订单所有信息 利用viewOrderById()方法。查出来该订单下的所有的订单项的详细信息。利用下拉表的选项选择提交,更改该订单的状态(“处理中” 或“缺货拒绝” 或“已发货”),利用方法modifyOrderState()。值得一提的是如果订单状态改为已发货的话,该订单下的所有订单项的图书的销售量相应地增加,库存量相应地减少。modifyOrderState()在调用时会在方法体内调用bookdao中的modifySellCountAndStroage()方法。见订单管理时序图如图3-13所示。图3-13订单管理时序图1.4.4 图书查询和管理功能管理员登陆成功,进入图书列表,管理员登陆成功点击超级链接“查看所有书籍”,会调用bookaction中的showbook()方法,在调用bookdao中的showbook()方法,将书籍列表放入一个集合中,集合是ArrayList类型的,再跳转到book_index.jsp页面中。在book_index.jsp页面中,在book_index.jsp中如果点击某一图书的图片,会将该书的id号传入到后台bookaction中调用bookaction中的viewBookById()方法查出该书的详细信息。将资源传入到book_view_admin.jsp中,因为是管理员,要是普通用户的话,会跳转到book_view.jsp中。如果点击删除该图书可以将该书的编号传到后台,调用deleteBookById()方法将其删除。见图书管理时序图如图3-14所示。图3-14图书管理时序图1.4.5 用户管理功能管理员登陆成功后,点击用户管理超链接,调用useraction中的showuser()方法,同样是将查询出来的所有用户放在一个列表里分页查询出来(本系统的所有查询均用了分页查询)。点击用户名,调用useraction中的viewByUserId()方法跳转到 user_view.jsp中显示该用户的详细信息,当然也是通过传递用户的id进行精确查询。和前边的查看某个订单,查看某个图书一模一样。然后在book_view.jsp中可以点击删除调用useraction中的DeleteById()方法将其删除,也可以点击更改该用户的密码,提交新密码后提交到useraction中的updateUser中根据传到后台的用户id,和新密码的值,更改该用户密码。如图3-6所示。图3-15用户管理时序图1.5 算法设计1.5.1 购买图书功能算法设计1.首先判断登陆是否成功,创建一个购物车,购物车中有Map items。2.用Public void addBook(Integer,orderitem)方法给items增加一个对象。3.用Public void updateCart(Integer bookid,int quantity)给item中的一个对象的数量更改数量。4.计算总价,total Public int getTotalPrice()遍历item中所有对象的价格乘以遍历出来的数量。5.在Action中要创建一个Cart对象cart。6.调用 cart.addBook(bookid,orderitem)。如果cart有就用原来的,没有创建一个新的。7.创建一个session。HttpSession session=request.getSession(True),如果session有用原来的,没有创建一个新的。8.将cart放入session保存。9.从session中取出购物车。10.结算中心首先验证用户是否登录,没登陆跳到登陆界面,如果用户登录就把订单项添加到订单中保存订单。1.5.2 登录功能算法设计1.根据输入的名字和密码查找数据库中是否有该用户,以及密码对不对。2.若登陆成功则转入两种页面,一种是普通用户登陆成功界面,一种是管理员登陆成功界面用mapping.findForward(“”)实现。3.如果是登陆没成功,那就找到登陆没成功界面,或注册,或重新登录。1.5.3 查询图书功能算法设计1.游客和用户管理员均可查找。2.根据选择条件查询,将查询来的书籍放入一个list中,再在jsp页面中显示出来。3.如果是模糊查询,也是将图书放入list中跟2中一样,用jstl将session或request中的list遍历出来。1.5.4 管理用户算法设计1.前提是管理员登陆成功。2.将查询出来的用户放入一个list中。3.将list放在session或request中。4.用 jstl标签遍历session或request中的list中的user。5.点击用户名会将用户的姓名或id传到后台,根据id查询出该用户的所有信息。如果点删除可根据id删除该用户,如果点修改再提交可将更该信息传到后台更新该用户的信息。1.5.5 订单维护算法设计1.首先判断是不是管理员登陆的。2.如是管理员,则用jdbc连接数据库显示所有订单。3.单击订单名字,可看到订单详细信息,并将订单信息传入后台dao文件中,并处理该订单,拒绝或发货。 1.5.6 图书详细信息算法设计1.点击图片,将图书的bookid传到后台,根据bookid查询数据库中该bookid的图书的详细信息。2.填写数量,点击购买随后将书籍的信息,数量,用户名,密码传到Action中,将值渗入到cart对象中。1.6 界面设计为了使界面的名字,和界面的作用意义相对应,所以设计了以下界面。界面设计见表3-16所示。表3-16界面设计界面名称功能结构MVC层次password_not_equal.jsp密码不一致界面Viewregister_success.jsp

温馨提示

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

评论

0/150

提交评论