网上书店系统实验报告
网上书店系统实习报告

引言 (2)一、需求分析与可行性分析 (2)1.1 需求分析 (3)1.1.1网上书店的现状 (3)1.1.2网上购书的优势 (3)1.2 可行性分析 (6)二、系统基本功能设计 (6)2.1用户管理功能 (6)2.2客户能实现的功能 (7)2.3商家能实现的功能 (7)三系统软硬件环境的选择与说明 (7)3.1:网络环境的设置 (7)3.1.1:网络环境设计 (7)3.1.2服务器主机设计与选择 (8)3.2:系统软件平台设计 (8)3.2.1操作系统的选择 (8)3.2.2 数据库管理系统的选择 (8)3.3:应用服务器的选择与配置 (8)四、电子商务系统的总体规划与系统体系结构图 (12)4.1开发使用的技术 (12)4.2开发的软件环境 (12)4.3该系统的体系结构 (13)五、电子商务系统的功能模块和业务流程 (13)5.1本站基本功能 (13)5.2整体操作流程图 (14)5.3功能模块描述 (15)5.3.1销售模块 (15)5.3.2会员操作模块 (16)5.3.3 后台操作模块 (16)六、主要界面设计风格 (17)七、数据库说明,表、字段等的关系。
(17)八.主要功能的开发和说明 (20)8.1购物车功能代码 (20)8.2添加书籍主功能代码 (21)8.3修改书籍信息主功能代码 (21)8.4购买的代码 (22)8.5订单管理代码 (23)七、总结 (25)引言Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网(Intranet),企业外部网(Extranet),通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。
而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。
网上书店系统分析设计报告

网上书店系统分析设计报告
一、引言
随着互联网的快速发展,网上购物已经成为人们日常生活中不
可或缺的一部分。
在这种背景下,网上书店系统应运而生。
网上书
店系统为用户提供了一个方便快捷的购书平台,使用户可以随时随
地浏览和购买各种图书。
本报告将对网上书店系统进行分析和设计,以确保其功能和性能的优化。
二、系统分析
1. 系统需求分析
(1)功能需求:用户注册与登录、图书浏览与搜索、购物车管理、订单管理、用户评价与推荐等。
(2)性能需求:系统应具备高并发能力、响应时间快、稳定性强等。
(3)安全需求:用户数据要保密,支付过程要安全可靠。
2. 系统结构分析
网上书店系统可以分为前端和后端两个主要部分。
(1)前端:包括用户界面和用户交互,用户可以在前端进行注册、登录、搜索图书、加入购物车和下订单等操作。
(2)后端:包括数据管理和业务逻辑处理,包括用户数据管理、图书数据管理、订单数据管理、支付处理等。
3. 数据库设计
(1)用户数据表:包括用户ID、用户名、密码、手机号、邮
箱地址等信息。
(2)图书数据表:包括图书ID、图书名称、图书作者、图书
价格、库存数量等信息。
(3)订单数据表:包括订单ID、用户ID、下单时间、订单状
态等信息。
三、系统设计
1. 前端设计
前端设计应注重用户友好性和可用性,包括以下关键设计要素:。
UML综合实验报告网上书店系统

账户与密码匹配不成功,系统反馈给用户,报告错误
后置条件
Ⅱ. 图书信息管理(接收图书订单、拒绝图书订单、查询图书库存、)----员工
(浏览、查询、图书订购)----会员
(浏览、查询)----游客
用例2:
用例名称
图书信息管理
参与者
员工、会员、游客
用例说明
用户进行相应的权限操作,对图书信息进行录入、删除、浏览、查询、修改等基本操作
用例名称
员工信息管理
参与者
管理员
用例说明
管理员进行相应的权限操作,对员工信息进行录入、删除、浏览、查询、修改等基本操作
前置条件
对具有不同权限的用户分配一定的权限管理
基本事件流
1.登陆员工信息管理界面
2.系统响应相应的用户权限操作
3.列出相应的信息
4.用户选择相应的操作
其它事件流
异常事件流
员工信息与实际不符合,上报管理员进修修改
前置条件
对具有不同权限的用户分配一定的权限管理
基本事件流
1.登陆商品信息管理界面
2.系统响应相应的用户权限操作
3.列出相应的信息
4.用户选择相应的操作
其它事件流
异常事件流
1.订单信息与会员订购的书籍不符合,报告管理员错误信息,管理员修改信息;
2.书籍商品信息出现错误或者缺货时,管理员及时修改商品信息;
《面向对象技术与UML》综合实验报告
学号
姓名
实验地点
实验时间
任课教师
实验指导教师
系统名称
网上书店系统
总分(60分)
实验结果(学生填写)
一.系统需求描述(软件使用者提出的需求200字以上)
网上书店实习报告

实习报告一、实习背景与目的随着互联网的普及和发展,网上书店逐渐成为人们购买图书的主要渠道之一。
为了深入了解网上书店的运营模式,提高自己的实践能力,我选择了在网上书店进行为期一个月的实习。
本次实习的主要目的是了解网上书店的运营流程,学习电子商务的基本知识,提高自己的网络营销和客户服务技能。
二、实习内容与过程在实习期间,我参与了网上书店的日常工作,主要包括以下几个方面:1. 商品管理:协助整理图书信息,上传新书信息,更新库存状态,确保商品信息的准确性和及时性。
2. 网站维护:参与网站页面的设计和修改,优化网站布局和功能,提高用户体验。
3. 网络营销:参与制定网络营销策略,进行微博、微信等社交媒体的宣传推广,提高店铺知名度和销售额。
4. 客户服务:负责解答客户咨询,处理订单和售后问题,提供优质的客户服务。
5. 数据分析:收集和分析销售数据,了解顾客需求和购买习惯,为营销策略提供依据。
三、实习收获与反思1. 了解了网上书店的运营流程和电子商务的基本知识,对电子商务有了更深入的认识。
2. 提高了自己的网络营销和客户服务技能,学会了如何通过社交媒体推广产品和提供优质的服务。
3. 学会了使用数据分析工具,掌握了数据分析的基本方法,能够根据数据提出营销建议。
4. 意识到电子商务市场竞争激烈,需要不断创新和提升自身能力才能在市场中立足。
四、实习总结通过本次实习,我对网上书店的运营模式有了更深入的了解,也积累了宝贵的实践经验。
我认识到,作为一名电子商务专业的学生,需要不断学习和提升自己的专业知识和技能,以适应不断变化的市场环境。
同时,我也明白了实践是检验真理的唯一标准,只有通过实践才能真正掌握所学知识,并将知识运用到实际工作中。
在今后的学习和工作中,我将继续努力,不断提高自己的实践能力,为将来的职业发展打下坚实的基础。
网上书店实验报告

实验四软件概要设计实验目的和任务目的:完成系统的体系结构的建立和概要设计,并给出相应的规格说明书。
任务:认真分析实验三的结果,给出系统合理的体系结构,描绘系统结构图,并合理划分系统的各组成模块,最后给出系统的各部分设计规格说明书。
预习内容参考资料和阅读相关的国家有关软件开发的标准文档。
实验内容及要求功能结构图设计,软件处理流程设计,输出设计,存储文件格式设计(数据库结构设计),输入设计。
实验结果1功能结构图本软件具有如下主要功能:●图书管理数据添加数据删除数据修改●会员管理会员注册会员查询图书查询●查询管理条件查询模糊查询●购物车管理图书添加图书查询图书修改●订单管理订单查询订单修改功能描述●身份验证功能对登录用户的身份进行验证,通过者才可以进入系统;●条件查询功能(1)如按书名、名号、作者、出版社等(2)模糊查询●数据添加功能增加一条新记录●数据删除功能删除一条记录,并且提供确认机制。
●数据修改功能修改任意一条记录的所有域,其中书名不能为空●用户管理功能添加用户功能删除用户功能修改用户功能2处理流程系统启动后,进入主界面,然后通过身份验证进入系统里,根据系统配置文件将数据库导入,并设置各全局变量;由退出系统事件激活退出系统模块,退出系统;系统总体结构如图s3.1所示。
图s3.1 系统总体结构和模块外部设计功能分配系统控制功能初始化模块(M1)会员验证模块(M2)游客模块(M3)管理员验证模块(M4)图书查询(M21)购物车(M22)订单(M23)退出(M24)会员管理(M41)图书管理(M42)订单管理(M43)退出(M44)(1)图书查询功能条件查询模块(M211)模糊查询模块(M212)(2)购物车功能添加图书模块(M221)查询图书模块(M222)修改图书模块(M223)(3)订单功能订单查询模块(M231)订单修改模块(M232)(4)会员管理会员登陆模块(M411)会员注册模块(M412)会员注销模块(M413)(5)图书管理图书添加模块(M421)图书删除模块(M422)图书修改模块(M423)(6)订单管理执行订单模块(M431)查看订单模块(M432)3数据结构设计逻辑结构设计(1) 全局变量<1>记录总数RecordTotal: Int<2>浏览顺序数组Browse: INt Browse[max]<3>焦点记录FocusRecord: Int<4>表From: Action=”.link.jsp” method=”post”<5>内存记录缓冲区RecordBuffer: NameAdd RecordBufferNameAdd=: [max]Struct{ INt Index;Char Name[20];Char Company[80];Char Telnump[40];}NameAdd;(2)文件名adminlist.aspx 管理员首页addbook.aspx 添加图书信息bookdetail.spx 图书详情Booklist.aspx 管理员图书列表Cartok.aspx 填写购物车客户信息Headad.aspx 管理员登录首页头部Index.aspx 主页面Login.aspx 用户登录页面Morebookin.aspx 更多图书页面Reg.aspx 用户注册页面Tail.aspx 首页底部页面Updatesearchbook.aspx 修改查询图书(管理员)Userlist.aspx 用户信息列表(3)数据库Name-CarD Tabel 定义思考题1系统设计与需求分析的关系是什么?两者必须前后关联吗?2怎样描绘系统的体系结构?3怎样绘制符合规范的流成图?1在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。
UML实验报告-网上书店

本科实验报告课程名称:系统分析与设计实验项目:《网上书店系统》实验实验地点:逸夫楼402专业班级:学号:学生姓名:指导教师:**2013年10月21、28日2013年11月4、11日目录1.实验准备:熟悉UML建模环境2.实验一用例图3.实验二类图4.实验三顺序图及通信图5.实验四活动图、状态图、组件图及部署图实验一用例图一、实验目的初步掌握UML用例图的创建方法及其用例的描述。
二、实验要求1.结合工具StartUML,熟悉UML用例图的模型元素。
2.使用StartUML工具建模网上书店系统的用例图。
三、实验主要设备:HP6460b四、实验内容:根据下面给出的网上书店问题陈述,分析该系统总体需求,建模网上书店系统的用例图并提供一个主要用例的事件流文档。
网上书店陈述:书店经理:我们原本是一个传统的实体书店,顾客要买书都是亲自到书店里来的,这样挺不方便。
面且随着书店销售图书种类和数量的增加以及顾客的增长,尤其是大量顾客到书店选购图书,使得书店场地不足,工作人员也很忙碌。
其实,还有一点就是,有不少人进入书店后并不买书,只是查找一些资料。
有的甚至会在这呆上很长的时间直到把书免费看完。
这种行为,工作人员一般是不阻止的,结果最后这些被看过的书会因为有阅读过的痕迹而影响销售。
而且现在电子商务已经发展起来了,所以我们想到借助网络,让顾客通过网上书店购买图书。
这样我们书店可以省掉大量的场地维护和工作人员成本支出,同时计算机可以方便的检索图书信息,让顾客可以足不出户以更优惠的价格买到需要的书。
系统分析员:能谈谈您对网上书店的要求吗?书店经理:网上书店要能实现对外和对内的功能,对外是顾客能在网上书店订购图书,提交订单。
对内,书店工作人员能够通过网上书店及时的看到这些订单,并进行处理。
为了把书送到顾客手里,我们已经联系了快递公司,初步达成协议,由他们往返场客和书店之间把图书送到顾客手里。
书店管理员受理订单后,就会通知快递公司送货。
Web大型实验网上书店系统技术报告

第一章系统概述
目前,网上书店在国际互联网上可以实现的商务已经多样化,可以完成从最基本的信息展示、信息发布功能到在线交易、在线客户服务、在线网站管理功能等,可以说,传统书店所具备的功能几乎都可以在互联网上进行电子化的高效动作。
虽然传统书店规模有所不同,随着网上交易的开展,都将有力地改变企业的发展空间,会对企业的竞争力产生不可忽视的影响。
本实验所采用的开发环境主要是基于数据库系统的SQL Server 2008 和MyEclipse开发环境。
利用SQL Server 2008创建网上书店表,利用MyEclipse创建网上书店解决方案。
开发一套网上书店购书系统,可以让顾客通过浏览器浏览网站售书目录,从而挑选自己满意的图书,并下订单购买。
而网站后台人员需要维护网站会员信息、书籍信息以及订单信息等。
不过本实验我并没有成功的区分开普通用户和会员,所以在没买书的时候,必须要输入一个Id,没有Id的必须去注册,其实用一个session
模块功能说明
第三章数据库设计
数据库表概念结构设计
用户表:
管理员表:
购物车中表单表:
最终表单表(提交到管理员):
图书表:
数据库表概念关系模型1)管理员实体的E-R图:
4)订单实体(购物车)的E-R图
5)最终订单的E-R图
6)总实体E-R图
N
1 1 1
第四章系统实现功能
用户模块
购物车购买用户信息
管理员模块:
第五章程序订单
,,,LastOrserBean
, , , alterServlet,, , , , ......
, , , , ,....。
网络书城系统实验报告(3篇)

第1篇一、实验目的本次实验旨在通过设计与实现一个网络书城系统,掌握以下技能:1. 理解电子商务网站的基本架构和功能模块。
2. 掌握使用Java编程语言进行Web开发。
3. 熟悉SSM(Spring、SpringMVC、MyBatis)框架在Web开发中的应用。
4. 学习使用MySQL数据库进行数据存储和管理。
5. 提高团队协作能力和项目管理能力。
二、实验环境1. 开发工具:IntelliJ IDEA/Eclipse2. 服务器:Tomcat 9.03. 数据库:MySQL 5.74. 版本控制:Git三、系统需求分析网络书城系统主要面向广大读者,提供图书浏览、购买、评论、搜索等功能。
系统分为前台和后台两个部分。
前台功能模块:1. 首页:展示最新图书、热销图书、新品推荐等信息。
2. 商品分类:按图书类别展示图书信息。
3. 图书详情:展示图书详细信息,包括封面、简介、价格、评论等。
4. 购物车:用户可以将图书添加到购物车,进行结算。
5. 订单管理:用户可以查看订单状态、取消订单、申请退款等。
6. 个人中心:用户可以查看个人信息、修改密码、查看历史订单等。
7. 搜索:用户可以通过关键词搜索图书。
后台功能模块:1. 管理员登录:管理员登录系统进行管理。
2. 商品管理:管理员可以添加、修改、删除图书信息。
3. 订单管理:管理员可以查看、处理订单,包括发货、取消、退款等。
4. 用户管理:管理员可以查看、修改、删除用户信息。
5. 评论管理:管理员可以查看、删除用户评论。
四、系统设计1. 技术选型:采用SSM框架进行开发,数据库使用MySQL。
2. 系统架构:采用B/S架构,前端使用HTML、CSS、JavaScript等技术,后端使用Java编程语言。
3. 数据库设计:根据系统需求,设计图书、用户、订单、评论等数据表。
4. 功能模块设计:根据需求分析,将系统划分为多个功能模块,如首页模块、商品模块、购物车模块等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告一、实验题目编程实现“网上书店系统”二、题目分析1、需求分析要开发一个系统,首先要了解该系统到底想做什么,需要实现怎样的功能,这就是需求分析。
网上书店从大的需求方面看,就是要实现通过互联网能够进行书籍的购买及相关的管理等功能,大致需要提供下面的一系列功能:*浏览书籍(模糊查询)*选择需要购买的书籍*可以继续选择别的书籍,并且可以购买该书籍*选择了需要购买的书籍后,进行购买书籍操作*保存选中的图书和数量UML图:2、数据分析图书信息数据库购物车本次会话有效1、页面转移关系再次查询2、对象模型(1)界面对象(View)*查询页Search.jsp*图书目录页Directory.jsp*购物车页Cart.jsp*定单页Order.jsp(2)控制器(Control)*CtrlServlet 负责响应输入命令*包括:模糊查询key、查看购物车cart、结算order 、继续选书continue、再次查询search(3)业务模型*图书信息:BookBean 实体类的会话Bean*购物车信息:CartBean 会话Bean(1)图书信息(数据库表、查询结果)*书号ISBN char[24] 主键*书名Title char[64]*作者Author char[32]*出版社Press char[32]*价格Price double(2)购物车信息*书号ISBN char[24]*数量Number integer(3)共享数据*查询结果和选中的图书信息*作为session参数4、动态模型5、EJB接口设计(1)BookBean 管理图书信息(封装数据库)*find( string key )*根据关键字从数据库中查找出图书信息记录(数组)条件:书名、作者、出版社名中包含关键字get( string isbn )*根据书号,找出图书信息记录(2)CartBean 管理购物车信息(本次会话有效)*add( string isbn ) 添加记录*gest( ) 获得记录数组*set( string isbn, integer num ) 设置购买数量5、控制器(1)CtrlServlet 的输入*来自查询页page=“search”&key=关键字*来自图书目录页page=“directory”&submit=“cart”&choose=书号数组page=“directoty”&submit=“search”*来自购物车页page=“cart”&submit=“order”page=“cart”&submit=“continue”page=“cart”&submit=“search”(2)算法概要*模糊查询search按照key 从BookBean 查询图书,转交图书目录页*查看购物车将选定图书存入CartBean,转交购物车页*结算计算CartBean中的图书总价,从BookBean获得图书信息,连同地址,转交定单页*继续选书返回图书目录页*再次查询转向查询页*异常处理直接生成错误信息页面四、实现技术1、采用MVC 模式(1)JSP 实现页面视图View(2)Servlet 实现控制Control(3)EJB 实现业务模型Model2、交互关系(1)JSP 表单动作(form)⎝ CtrlServlet(2)Servlet 转发⎝ JSP 页面3、数据传输(1)Servlet 调用EJB 对象获得数据(2)Servlet 通过session 参数传递给JSP 页面五、实验源代码1、BooksOnline-ejb(1)Books①Books.java:import java.io.Serializable;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;dQueries;import dQuery;import javax.persistence.Table;@Entity@Table(name = "BOOKS")@NamedQueries({@NamedQuery(name = "Books.findByIsbn", query = "SELECT b FROM Booksb WHERE b.isbn = :isbn"), @NamedQuery(name = "Books.findByTitle", query = "SELECTb FROM Books b WHERE b.title = :title"), @NamedQuery(name = "Books.findByAuthor",query = "SELECT b FROM Books b WHERE b.author = :author"), @NamedQuery(name = "Books.findByPress", query = "SELECT b FROM Books b WHERE b.press = :press"), @NamedQuery(name = "Books.findByPrice", query = "SELECT b FROM Books b WHERE b.price = :price")})public class Books implements Serializable {private static final long serialVersionUID = 1L;@Id@Column(name = "ISBN", nullable = false)private String isbn;@Column(name = "TITLE")private String title;@Column(name = "AUTHOR")private String author;@Column(name = "PRESS")private String press;@Column(name = "PRICE")private Double price;public Books() {}public Books(String isbn) {this.isbn = isbn;}public String getIsbn() {return isbn;}public void setIsbn(String isbn) {this.isbn = isbn;}public String getTitle() {return title;}public void setTitle(String title) { this.title = title;}public String getAuthor() {return author;}public void setAuthor(String author) { this.author = author;}public String getPress() {return press;}public void setPress(String press) {this.press = press;}public Double getPrice() {return price;}public void setPrice(Double price) {this.price = price;}@Overridepublic int hashCode() {int hash = 0;hash += (isbn != null ? isbn.hashCode() : 0);return hash;}@Overridepublic boolean equals(Object object) {// TODO: Warning - this method won't work in the case the id fields are not setif (!(object instanceof Books)) {return false;}Books other = (Books) object;if ((this.isbn == null && other.isbn != null) || (this.isbn != null && !this.isbn.equals(other.isbn))) {return false;}return true;}@Overridepublic String toString() {return "Books.Books[isbn=" + isbn + "]";}}②BooksFacade.javaimport java.util.List;import java.util.ArrayList;import javax.ejb.Stateless;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;@Statelesspublic class BooksFacade implements BooksFacadeRemote {@PersistenceContextprivate EntityManager em;public void create(Books books) {em.persist(books);}public void edit(Books books) {em.merge(books);}public void remove(Books books) {em.remove(em.merge(books));}public Books find(Object id) {return em.find(Books.class, id);}public List<Books> findAll() {return em.createQuery("select object(o) from Books as o").getResultList(); }public ArrayList<Books> search(String key) {List<Books> all = this.findAll();if(all.isEmpty()) {return null;}ArrayList<Books> result = new ArrayList<Books>();for(Books current : all) {if(current.getTitle().toLowerCase().contains(key)||current.getAuthor().toLowerC ase().contains(key)||current.getPress().toLowerCase().contains(key)) {result.add(current);}}return result;}}③BooksFacadeRemote.javaimport java.util.List;import java.util.ArrayList;import javax.ejb.Remote;@Remotepublic interface BooksFacadeRemote {void create(Books books);(2)Cart①Cart.javaimport java.io.Serializable;public class Cart implements Serializable {private String isbn;private String title;private double price;private int number;public Cart(String isbn,String title,double price,int number) { this.isbn = isbn;this.title = title;this.price = price;this.number = number;}public String getIsbn() {return this.isbn;}public String getTitle() {return this.title;}public double getPrice() {return this.price;}public int getNumber() {return this.number;}public void setIsbn(String isbn) {this.isbn = isbn;}public void setTitle(String title) {this.title = title;}public void setPrice(double price) {this.price = price;}public void setNumber(int number) {this.number = number;}}②CartBean.javaimport javax.ejb.Stateful;import java.util.ArrayList;@Statefulpublic class CartBean implements CartRemote {private ArrayList<Cart> record;private boolean initialed = false;public void add(String isbn,String title,double price){ record.add(new Cart(isbn,title,price,1));}public void set(String isbn,int number){for(Cart current : record) {if(current.getIsbn().equals(isbn)) {current.setNumber(number);}}}public boolean exist(String isbn) {for(Cart current : record) {if(current.getIsbn().equals(isbn)) {return true;}}return false;}public ArrayList<Cart> get(){ArrayList<Cart> result = new ArrayList<Cart>();for(Cart current : record){ result.add(newCart(current.getIsbn(),current.getTitle(),current.getPrice() ,current.getNumber()));}return result;}public boolean initialed() {return this.initialed;}public void create(){record = new ArrayList<Cart>();initialed = true;}}void edit(Books books);void remove(Books books);Books find(Object id);List<Books> findAll();ArrayList<Books> search(String key);}③CartRemote.javaimport javax.ejb.Remote;import java.util.ArrayList;@Remotepublic interface CartRemote {public void add(String isbn,String name,double price);public void set(String isbn,int number);public boolean exist(String isbn);public ArrayList<Cart> get();public boolean initialed();public void create();}2、BooksOnline-warControlServlet.javaimport Books.BooksFacadeRemote;import Cart.CartRemote;import java.util.Enumeration;import java.io.IOException;import java.io.PrintWriter;import javax.ejb.EJB;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ControlServlet extends HttpServlet {@EJBprivate CartRemote cartBean;@EJBprivate BooksFacadeRemote booksFacade;/*** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.* @param request servlet request* @param response servlet response*/protected void processRequest(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");request.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();try {if(request.getParameter("page").equals("search")) {request.getSession().setAttribute("directory",booksFacade.search(request.getParameter("key").toLowerCase()));response.sendRedirect("Directory.jsp");}if(request.getParameter("page").equals("directory")&&request.getParameter("su bmit").equals("cart")) {if(!cartBean.initialed()) {cartBean.create();}Enumeration names = request.getParameterNames();while(names.hasMoreElements()) {String name = (String)names.nextElement();if(!name.equals("page")&&!name.equals("submit")) {if(!cartBean.exist(request.getParameter(name))) {cartBean.add(request.getParameter(name),booksFacade.find(request.getParameter (name)).getTitle(),booksFacade.find(request.getParameter(name)).getPrice()); }}}request.getSession().setAttribute("cart",cartBean.get());response.sendRedirect("Cart.jsp");}if(request.getParameter("page").equals("directory")&&request.getParameter("su bmit").equals("search")) {response.sendRedirect("Search.jsp");}if(request.getParameter("page").equals("cart")&&request.getParameter("submit" ).equals("order")) {double sum = 0;Enumeration names = request.getParameterNames();while(names.hasMoreElements()) {String name = (String)names.nextElement();if(!name.equals("page")&&!name.equals("submit")&&!name.equals("address")) {cartBean.set(name,Integer.parseInt(request.getParameter(name)));sum +=booksFacade.find(name).getPrice()*Integer.parseInt(request.getParameter(name) );}}request.getSession().setAttribute("cart",cartBean.get());request.getSession().setAttribute("fee",sum);request.getSession().setAttribute("address",request.getParameter("address")); response.sendRedirect("Order.jsp");}if(request.getParameter("page").equals("cart")&&request.getParameter("submit" ).equals("continue")) {response.sendRedirect("Directory.jsp");}if(request.getParameter("page").equals("cart")&&request.getParameter("submit" ).equals("search")) {response.sendRedirect("Search.jsp");}} finally {out.close();}}// <editor-fold defaultstate="collapsed" desc="HttpServlet 方法。