




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JSP的“网上购书系统” .基于JSP的网上购书系统毕业论文目 录前 言3第1章 系统概述及可行性分析41.1 系统概述41.1.1 系统主要工作流程41.1.2 系统开发目的和研究背景51.2 可行性分析71.2.1 技术可行性分析71.2.2 环境可行性分析81.2.3 经济可行性分析8第2章 系统总体设计92.1 系统结构总框架设计92.2 系统结构流程设计92.3 数据流程图设计11第3章 系统数据库设计113.1 数据库概念结构设计113.2 数据库逻辑结构设计133.3 Oracle数据库具体实现15第4章 系统详细设计174.1 用户注册及登陆的实现174.1.1 登陆界面的设计及其变化174.1.2 日历功能的设计194.1.3 登陆验证功能的设计204.1.4 登陆角色功能的设计224.1.5 普通用户注册界面234.2 购书模块的设计244.2.1 图书列表功能的设计244.2.2 模糊检索功能的设计264.2.2 购物车部分294.2.3 用户信息部分和购物清单部分314.3 用户订单管理模块的设计344.3.1 订单列表部分344.3.2 订单明细部分36第5章 关键技术及系统安全性能385.1 系统关键技术385.2 系统安全性能38第6章 结 论39参考文献40谢 辞41前 言20世纪90年代以来,计算机网络技术得到了飞速的发展,网络的全球化成为不可抗拒的潮流。21世纪是信息经济的时代,在信息社会里起决定作用的不是资本,而是信息知识,伴随着高科技Internet的出现,Internet正在走入千家万户,它不仅仅给人们提供了一个全新获取信息的手段,而且日益影响我们的生活、学习和工作方式。因此,许多人、许多公司都希望自己能够制作网页,以展现本人或公司的风采和产品,以及有许多顾客想要通过上网来购物。 为了迎合人们的文化知识需要和方便大家购物,电子商务随之而出。网络购书管理系统是目前Internet上广泛使用的在线系统之一,它要求实现的功能非常多,最重要的当属图书的销售,也就是管理库房中的图书,以及管理用户的购物车,从而实现结账等功能。同时,为了保证图书交易的正常进行,必须对用户身份进行验证。最后该系统还必须具有管理员的功能,允许管理员对整个系统的数据库进行操作。现在人们购书大多是去书店,在书店里寻找自己需要的书籍并购买。经过几年实践,我国电子商务发展迅猛,越来越走向务实,网络的应用已经蓬勃发展起来。开发一类适合现代人网上购书的系统网上书店是非常必要和可行的,此类系统在我国已得到初步应用并有很广泛的市场需求前景。 网上书店系统可以实现人们远程逛书店和购买图书的愿望。本系统的主要功能是帮助经营实物书店的人们扩大市场和增加知名度,帮助在实际买书的过程中受到时间和地域限制的人们更方便地购买图书。其基本功能包括普通用户注册、登录、图书展示、图书查询、在线浏览图书、远程购买、远程交易和管理员对书籍及订单的管理等。本系统使用的开发工具是MyEclipse6.0,使用的数据库是Oracle 10g。该系统是基于实体书店及出版社等用户背景开发的,可以有效的实现网上图书交易。本系统采用Sun公司J2EE企业及编程模式,采用可视化的编程环境,简单易懂的编程语言,用较少的代码可以实现大量繁琐复杂的问题的功能,本系统采用现在流行的MVC框架,不仅易于上手,而且扩展性也好,下面将本系统的主要内容介绍如下:第1章主要介绍论文的研究背景及意义;第2章主要介绍系统实际需求和系统总体设计;第3章主要介绍本系统数据库的设计;第4章主要介绍本系统详细设计;第5章主要介绍本系统的关键技术及系统安全性能。第1章 系统概述及可行性分析1.1 系统概述随着现代信息技术的飞速发展,全球性的网络化、信息化进程正逐渐改变着人们的生活方式,促使信息系统必须高效地处理内部信息,由传统的生活方式逐步提高到基于数据库的网络自动化信息处理。本系统采用MVC三层架构的模式:M即model,就是模式层,相关技术是JavaBean。V即view,视图层,相关技术是Jsp,用于显示操作界面。C,即control,控制层,相关技术是servlet,用于控制和转发分别来自操作界面操作请求和数据库的处理信息。在设计模式上,本系统用到了工厂模式和ORM模式等。工厂模式是我们最常用的模式了,著名的Jive论坛就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。使用工厂模式会给本系统带来更大的可扩展性和尽量少的修改量,而其中最关键的就是建立工厂类和相应的类接口。所谓ORM模式,即Object Relational Mapping,对象关系映射模式,采用映射元数据来描述对象关系的映射细节,通常采用xml格式。在该系统中使用ORM技术是为了解决面向对象与关系数据库存在的互不匹配的现象。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中,其本质就是将数据从一种形式转换到另外一种形式。本系统在开发过程中还结合了Struts和 Hibernate来处理页面逻辑和对象的持久化工作,使用了当前流行的Struts框架,采用Hibernate作为ORM框架。1.1.1 系统主要工作流程可以将该系统划分为以下几个层次模块:客户端(即浏览器)、表现层、业务逻辑层、数据访问层、数据库。首先通过Tomcat把本系统estore部署到webapplication下,然后启动Tomcat。当客户端通过浏览器发送一个请求,通过servlet把该请求转交给业务逻辑层进行相应增删改查的处理,通过hibernet与数据库交互,从数据库中取或存数据,把结果返回给业务逻辑层,再返还给JSP,继而客户便可通过浏览器看到操作结果。具体数据流程为:在页面上进行相应的操作,触动action(里面有url)到webroot-web-inf-web.xml里通过action触发的相应事件找到对应的servlet,通过servlet名字找到相应的servlet类,通过servlet调用service层的方法,通过service调用相应dao层的方法,dao层通过hibernite与数据库交互进行相应的增,删,改,查的处理。本系统主要工作流程图1-1所示:客户端ServerletService方法dao层Hibernet表现层业务逻辑层数据访问层数据库图1-1 系统主要工作流程图1.1.2 系统开发目的和研究背景传统的购书方式中,需要去书店挑选,选择到合适的书籍有时需要耗费相当多的时间和精力,这是一个繁杂的过程,已经越来越不适应社会信息化建设与现代生活方式的需要。尤其在经济不发达地区,书店分布少,书籍种类少,顾客不易买到自己想要的书籍,给顾客购书带来了很多的不便。本网上购书系统正是为了解决此类问题而设计的,它是信息化建设的产物,也是传统书店的延伸。可以利用互联网络足不出户随时随地购书,加上数据库技术的利用,大大简化了图书选择和购买的过程。网上书店是一个基于Internet的网上图书销售系统。用户可以通过浏览器登陆书店页面,浏览其中的图书信息,将书店中感兴趣的书加入到购物车中,如果决定购买图书,则可以将购物车中的图书作为订单下达。网上书店系统管理员会定期处理用户下达的订单。用户使用网上书店可以足不出户购买到自己感兴趣的图书,而且可以使用图书检索功能更快地找到所需的图书。网上书店利用Internet的优势,打破了传统书店的经营模式。 在电子商务网站中,网上书店是目前应用最广、最成功的典范之一。通过此类网站,用户可以充分利用Internet的发展给人类带来的便捷,突破时间和空间上的限制,实现网上购书。网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书的流通发行环节,将广大读者、图书、出版社、发行者紧密地联系在一起,大大提高了图书流通率,同时也丰富了人们的头脑,增加了人们的知识面,提高了工作效率。网上购书有着经营成本低、库存虚拟、用户检索方便、地域限制少等优点,网上购书系统正是信息时代和效率优先最完美的结合体。在这个信息逐步发达的时代,在这个追求时间和效率的时代,网上购物将成为一种趋势和时尚。1.1.3 需求分析1. 系统用户使用网上书店系统的用户主要有两种:一种是消费者,可以浏览网上书店中的书藉信息、进行网上购书;另一种是网站的管理者,可以对网上书店中的书藉信息进行管理、处理客户的订单。2. 系统功能需求鉴于网上书店系统的两种用户角色的说明,可将系统分为前台和后台,前台是给客户使用的,用于展示图书信息和完成与客户的交互;后台是给网站的管理者使用的,用于管理网站的内容。网上书店前台实现的功能有:(1)网站首页。首页是客户打开网站的第一个页面,为以吸引客户,更体现人性化设计,本网站设置了背景变换功能,即在不同的季节展现出不同的背景设计风格。(2)新注册用户。提供客户网上自助注册功能,填写注册表单并提交后,就能成为网上书店的用户,注册成功并登录后就可以进行网上购书了。(3)用户登录。供已注册的用户登录,登录后才能在网上购书。(4)网上购书。已登录的用户可以将需要购买的书藉放入购物车,可将已放入购物车中的书藉生成一张订单并作确认。网上书店后台管理实现的功能有:(1)书藉管理。供网站管理员对网上书店中的书藉进行管理,可增加书藉信息。(2)订单管理。供网站管理员管理客户提交的订单,对于已经提交的订单,管理员可以根据订单信息进行发货。1.2 可行性分析1.2.1 技术可行性分析1、Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。2、Web应用程序开发环境JSP技术JSP的全称是Java Server Pages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入JAVA程序片段和JSP标记,就构成了JSP页面。JSP具有以下的优点:a)能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务;b)一次编写,处处运行:作为JAVA开发平台的一部分,JSP具有JAVA的所有优点。 3、Tomcat应用服务器目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。 Tomcat是一个免费的开源的,在Tomcat中,应用程序的部署很简单,你只需将你的工程放到相应目录下即可,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。4、Oracle 数据库Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,是目前最流行的客户/服务器(Client/Server)体系结构的数据库之一。 1.2.2 环境可行性分析本系统的开发环境:操作系统:Windows系列操作系统; 开发工具:MyElcipse 6.0; 应用服务器:Tomcat 5.0.28; 数据库:Oracle。 1.2.3 经济可行性分析经济可行性:该系统对操作环境要求不大,系统的开发不需要很强技术和经济支持,维护起来也很方便,就其功能带来的利益来说,是完全可行的。第2章 系统总体设计2.1 系统结构总框架设计本网上购书系统主要分成三大模块:客户管理、图书管理和订单管理。其中各模块又是由若干个子模块构成的,形成一个结构紧凑、功能明确完整的网上购书系统。系统结构总框架设计如图2-1所示: 2-1整个系统结构图2.2 系统结构流程设计用户必须按照正确的顺序进入系统,用户的角色分为管理员和普通用户两种。管理员用户无需注册,可以直接用管理员用户名和密码登陆;普通用户需先注册,注册成功后方可登陆。两种用户登陆成功后便可通过按键提示进行相应操作,具体系统结构流程图如图2-2所示:图2-2 系统结构流程图2.3 数据流程图设计本系统的中心角色是用户。用户开始注册、登陆,然后用户就可以进行书籍检索、购买、确认订、付款等。系统管理人员可以查看订单信息,根据订单信息发货等。图2-3 系统数据流程图第3章 系统数据库设计3.1 数据库概念结构设计数据库在本购书系统中占有及其重要的地位,数据库结构设计的好坏关系到系统的运行效率、存储数据的效率、系统的复杂程度等,合理的数据库结构设计可以提高系统性能。考虑到用户需求的各种实体,本网上购书系统规划出的实体有用户信息实体、图书信息实体、购物车信息实体、订单信息实体,订单明细信息实体。各实体总体描述E-R图如图3-1所示:图3-1 系统实体总体描述E-R图3.2 数据库逻辑结构设计将以上的数据库概念结构转化为关系数据模型,即数据库的逻辑结构。各个数据表的字段设置如下各表所示:字段号字段名 类型宽度小数索引1登陆账号数值型4主键2用户名字符型20唯一3密码字符型304邮编字符型65地址字符型606电话字符型117E-mail字符型20表3-1 用户信息表字段号字段名 类型宽度小数索引1图书编号数值型4主键2书名字符型30唯一3作者字符型504出版社字符型505出版日期日期时间106图书单价数值型627ISBN字符型13表3-2 图书信息表 字段号字段名 类型宽度小数索引1图书编号数值型4主键2书名字符型30唯一3数量字符型54价格数值型725操作布尔型1表3-3 购物车信息表字段号字段名 类型宽度小数索引1订单编号数值型10主建2用户登陆账号数值型4外键3订单处理字符型104图书价格数值型75邮寄方式数值型46邮费数值型27折扣数值型118需付款总额数值型729付款情况布尔型1 表3-4 用户订单信息表字段号字段名 类型宽度小数索引1订单编号数值型10 主键2书名字符型10 外键3价格数值型624数量数值型3表3-5 订单明细表3.3 Oracle数据库具体实现对数据库进行操作的部分SQL语句:create sequence book_seq start with 1 increment by 1;create sequence customer_seq start with 1 increment by 1;create sequence orderform_seq start with 1 increment by 1;create sequence orderline_seq start with 1 increment by 1;create table customer(id number primary key,name varchar2(20),password varchar2(20),zip varchar2(20),address varchar2(50),telephone varchar2(20),email varchar2(30);create table orderform(id number primary key, cost number(8,2),orderdate date, customerid number references customer(id);create table book(id number primary key,name varchar2(100),price number(8,2);create table orderline(id number primary key,num number not null,orderid number references orderform(id),bookid number references book(id); 第4章 系统详细设计4.1 用户注册及登陆的实现4.1.1 登陆界面的设计及其变化在浏览器地址栏键入以下地址::8888/estore_jsp/login.jsp 即出现本系统的登陆界面。为体现人性化设计,本系统在登陆窗口上增加了日历和日期选择功能,并且网页的设计风格可以随季节的不同而变化,使用户在登陆到本网站时在不同的季节有不同的心情。例如,在本网站的登陆界面可以随季节的变化而表现出不同的风格,随着日期设置的变化,登陆界面可以随着春夏秋冬四季的交替而变化,其交替时间分别为春分日(3月21日)、夏至日(6月22日)、秋分日(9月23日)和冬至日(12月22日)。具体实现效果如图4-1(a)(b)(c)(d)所示: 图4-1(a)春 图4-1(b)夏 图4-1(c) 秋 图4-1(d)冬其中部分实现代码如下:var date_spring=year+/03/21;var date_summer=year+/06/22; var date_autumn=year+/09/23; var date_winter=year+/12/22; var date1=new Date(date_spring).getTime(); /春var date2=new Date(date_summer).getTime();/夏var date4=new Date(date_autumn).getTime();/秋var date5=new Date(date_winter).getTime();/冬var date3=new Date(date_show).getTime(); /当前时间 if(date3date1)&(date3date2)&(date3date4)&(date3date5)|(date3date4);alert(date3date5);4.1.2 日历功能的设计 在登陆界面上增加了日历功能,其时间与计算机的时间是一致的,同时也可以自己选择日期,日期变化后登陆界面随之变化。其效果图如图4-2所示:其中部分实现代码如下:/选择日期功能function change_date(temp,mode)var t_month,t_year; if (mode) if(mode=1) t_month=parseInt(cele_date_month.value,10)+parseInt(temp,10); else t_month=parseInt(temp) if (t_monthcele_date_month.options(cele_date_month.length-1).text) cele_date_month.value=cele_date_month.options(0).text; change_date(parseInt(cele_date_year.value,10)+1,0); else cele_date_month.value=t_month; set_cele_date(cele_date_year.value,cele_date_month.value); else t_year=parseInt(temp,10); if (t_yearparseInt(cele_date_year.options(cele_date_year.length-1).text,10) cele_date_year.value=cele_date_year.options(cele_date_year.length-1).text; set_cele_date(cele_date_year.value,12); else cele_date_year.value=t_year; set_cele_date(cele_date_year.value,cele_date_month.value); 4.1.3 登陆验证功能的设计在登陆过程中,如果出现用户名或密码输入错误或空输入,系统便会弹出提示信息。该功能通过action触发的用户名和密码验证事件找到对应的servlet,通过servlet名字找到相应的servlet类,通过servlet调用service层的方法,通过service调用相应dao层的方法,dao层通过hibernite与数据库交互进行相应的查找和操作。效果图如图4-1-3(a)和4-1-3(b)所示: 4-1-3(a)登陆用户名验证 4-1-3(b)登陆密码验证其中部分实现代码如下:function init()setTimeout(refWin,60000000);function queren()if(.value=)alert(请输入用户名!);return;if(f1.password.value=)alert(请输入密码!);return;f1.submit();function ss()if(window.event.keyCode=13)if(.value=)alert(请输入用户名!);return;if(f1.password.value=)alert(请输入密码!);return;f1.submit();4.1.4 登陆角色功能的设计为了便于网站管理,系统用户可以以不同的身份进行登陆,分为管理员用户登录和普通用户登录。其中管理员用户的登录用户名和密码是系统设定的,用户名和密码均为admin;而普通用户使用本系统要先进行注册,注册成功后方可进行登陆。管理员用户的功能是在普通用户功能的基础上增加了一些功能,如书籍的添加、订单的管理等。其实现效果图如图4-1-4(a)和4-1-4(b)所示: 图4-1-4(a)管理员登陆 图4-1-4(b)普通用户登录其部分功能实现代码如下:String name=request.getParameter(name);String password=request.getParameter(password);Customer c=null;try if(admin.equals(name)&(password.equals(admin)response.sendRedirect(listBookStore1.jsp);/管理员页面System.out.println(管理员登陆);elseSystem.out.println(客户登陆);c=customerService.login(name, password);/获得的customer放入内存sessionHttpSession session=request.getSession();session.setAttribute(customer,c);/若有别的request就得用内部跳转response.setCharacterEncoding(UTF-8);response.sendRedirect(listBookStore.jsp);/用户页面 catch (CustomerServiceException e) e.printStackTrace();request.setAttribute(error1,e.getMessage();request.getRequestDispatcher(login.jsp).forward(request,response);4.1.5 普通用户注册界面普通用户登录本购书系统前需要先进行注册,注册成功后方可进行操作,用户所有注册信息都将被系统管理员获取,其值也将被传送到订单管理页面上。在出现的登陆界面页中点击“注册新用户”即进入用户注册界面,输入用户登陆账号、密码等基本信息并提交后,即可返回登陆界面,并在其中输入已经通过注册验证的用户名及密码。当点击登录时就进入:8888/estore_jsp/listBookStore.jsp中,即可进行图书的检索、购买等。其具体实现代码略,其效果图如图所示:图4-1 普通用户注册界面4.2 购书模块的设计4.2.1 图书列表功能的设计在用户登陆界面输入通过验证的用户名和密码并点击“提交”后,系统便调用RegisterServlet中的doPost方法,此时页面就跳转到进入图书列表界面。用户以不同的身份进入就会出现两种不同的界面:管理员图书列表界面和普通用户图书列表界面。其中管理员图书列表界面是在普通用户图书列表界面所拥有功能的基础上增加了添加图书和管理用户订单的功能。该列表将所有的相关书籍罗列出来,用户可以对图书进行相应的操作,检索图书、输入购买数量并点击“购买”后便将其放入购物车,操作完成之后便进入购物车界面。两种不同的界面效果如图4-2-1(a)和图4-2-1(b)所示:图4-2-1(a)管理员图书列表界面图4-2-1(b)普通用户图书列表界面其中实现管理员的追加图书功能的部分实现代码如下:public class AddBookServlet extends HttpServlet private static IOrderService orderservice;public void init() throws ServletException orderservice=(IOrderService)BeanFactory.getBean(BeanFactory.ORDERSERVICE);public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request,response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /把页面取得在内容转换成Utf-8类型request.setCharacterEncoding(UTF-8);/从页面取字段值String name=request.getParameter(bookname);Double price=new Double(request.getParameter(bookprice);System.out.println(name+这是Servlet取值);Map book;try orderservice.add_Book(name, price);book=orderservice.listAllBook();/将内容填充到网页中并显示!request.setAttribute(books, book);request.getRequestDispatcher(listBookStore1.jsp).forward(request,response); catch (OrderServiceException e) e.printStackTrace();4.2.2 模糊检索功能的设计本系统可以实现模糊检索的功能,即当输入的关键字包含在书名中时便可以将其检索出来。这样可以大大方便用户对图书的检索操作,也可以扩大图书的检索范围,使用户在不清楚想要购买的书籍的确切名称,或想要购买相关内容的书籍时,只要输入相关的关键字便可以检索出想要购买的书籍。例如,在本系统关键字的文本框中输入“数据结构”四个字,点击“刷新”按钮便可以检索出数据结构、数据结构学习指导与习题解答两本书名中包含“数据结构”的书;同理,若输入的关键字为“数据”,便会检索出数据结构、数据结构学习指导与习题解答和数据库三本书。其部分实现代码如下:首先,表现层调用servlet层的SearchBookServlet类:public class SearchBookServlet extends HttpServlet private static IOrderService orderservice;public void init() throws ServletException orderservice=(IOrderService)BeanFactory.getBean(BeanFactory.ORDERSERVICE);public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request,response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /把页面取得在内容转换成Utf-8类型request.setCharacterEncoding(UTF-8);/从页面取字段值String name=request.getParameter(rycx);System.out.println(name+这是Servlet取值);/double price=new Long(request.getParameter(price);Map book;try book=orderservice.listBook(name);/与orderinfo页面的$orderform.id对应request.setAttribute(books, book);/将内容填充到网页中并显示!request.getRequestDispatcher(listBookStore.jsp).forward(request,response); catch (OrderServiceException e) e.printStackTrace();然后,servlet层条用service层的IOrderService方法:public interface IOrderService /保存订单void saveOrder(Orderform order) throws OrderServiceException;/删除订单void delOrder(Long orderid) throws OrderServiceException;/查找用户所有订单Map listAllOrder(Long customerid) throws OrderServiceException;/查找单个订单Orderform findOrderById(Long orderid) throws OrderServiceException;/查找所有书籍Map listAllBook() throws OrderServiceException;/查找书籍Map listBook(String name) throws OrderServiceException;/增加书籍void add_Book(String name,Double price) throws OrderServiceException;最后,通过调用dao层的findbook方法,与数据库进行交互:public Map findBook(String name) throws Exception System.out.println(*调用函数了*);StringBuffer buffer=new StringBuffer();buffer.append(from Book where 1=1);if(name!=)buffer.append( and name like %+name+%);/sql语句放到buffer中/if(price!=0.0)/buffer.append( or price = +price+);System.out.println(buffer.toString();/if(!unlimited.equals(provincecity)/buffer.append(vincecity=+provincecity+);String hql=buffer.toString();/转换为string类型Session session=HibernateSessionFactory.getSession();/Query query=session.createQuery(from Book where name like %+name+% or price like %+price+%);Query query=session.createQuery(hql);/执行hql语句(sql)List list=query.list();Map books=new TreeMap();if(list!=null)for(Object o:list)/遍历集合(数组)目的:把sql语句执行结果存入集合(数组)Book book=(Book)o;books.put(book.getId(),book);return books;4.2.2 购物车部分当点击“查看购物车”时,就调用ClearCartServlet中的doGet和doPost方法,通过service调用相应dao层的方法,这个Action将已购买的书名信息和数量信息导入购物车,此时页面就跳转到“购物车列表”页面上了,用户可以看到刚刚购买过的图书的书名、数量、总价等信息出现在购物车列表里。此时用户可以对购物车进行修改操作,用户可以进行数量的更改、删除所购图书、返回图书列表继续购买和提交订单等操作。购物车界面如图4-2-2所示:图4-3 购物车列表界面其部分实现代码如下:public class ShoppingCart private Map cart = new TreeMap();/增加Orderlinepublic void addLine1(Orderline line) Orderline orderline = cart.get(line.getBook().getId();if(orderline != null) orderline.setNum(line.getNum();else if(line.getNum()0)cart.put(line.getBook().getId(), l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行业学院科研管理办法
- 财务共享时效管理办法
- 讲师俱乐部管理办法
- 业务资金结算管理办法
- 2025年霍尔汽车点火系统合作协议书
- 电气实训室管理办法
- 虚拟高校分部管理办法
- 中小创业团队管理办法
- 西藏用人风险管理办法
- 规范作业管理暂行办法
- GB/T 20801.6-2020压力管道规范工业管道第6部分:安全防护
- GB/T 19355.2-2016锌覆盖层钢铁结构防腐蚀的指南和建议第2部分:热浸镀锌
- 主编-孙晓岭组织行为学-课件
- 核心素养视角下教师专业发展课件
- 企业信用信息公告系统年度报告模板:非私营其他企业
- 施工员钢筋工程知识培训(培训)课件
- 质量管理体系审核中常见的不合格项
- 共用水电费分割单模板
- 《阿房宫赋》全篇覆盖理解性默写
- 学校体育学(第三版)ppt全套教学课件
- NCStudioGen6A编程手册
评论
0/150
提交评论