(完整word版)网上书店课程设计.docx
JavaEE课程设计报告题目在线图书销售网站BoOkStOre的设计与实现院系计算机科学与技术学院1课程设计目的、任务及要求11.1 课程设计目的11.2 课程设计任务及要求11.2.1 课程设计任务11.2.2 课程设计要求11.2.3 课程设计环境12需求分析22.1 系统的可行性分析22.2 系统功能需求分析22.2.1用户管理22.2.2图书管理32. 2.3购物车管理33系统设计33.1系统总体结构设计43. 2系统功能模块设计53. 2.1登录模块53. 2.2注册模块63. 2.3图书管理模块73. 2.4购物车模73.3数据库逻辑结构设计94系统实现105系统测试135.1软件测试的定义1352/P!0JIJ*1364、"口141.l课程设计目的图书产品从其外部特征来看,品种繁多,实体书店或其它图书发行者无法有足够大的店面来展示所有品种;单价不高,在网络信用还存在缺失的环境下能造成的损失较小,读者也乐于尝试在线购买。所以网上书店网站也在互联网上纷纷出现。这样更便于用户在购书时对图书快速查询,节省购书时间,同时也便于商家对图书的管理与销售。在线图书销售网站主要运用了JSPweb开发技术Servlet>JavaBean技术进行开发。JaVaWeb开发包括两个方面:JSP/Servlet组件的开发,JDBC、JSTL>EL等服务的使用,涉及的技术主要包括JSP和SerVIeI。在该系统的实现中能更好的学习和掌握在JaVaweb技术、SerVIet技术和JaVaBean技术的开发和应用。1.2课程设计任务及要求1.2.1 课程设计任务使用JSP、ServletJaVaBean等技术创建一个在线图书销售网站BOOkStOre。该网站应实现以下功能:1、实现用户的注册、登陆、修改、退出等用户管理功能。2、实现图书的添加、删除、更新等图书管理功能。3、实现购物车功能。1. 2.2课程设计要求该网站可以方便用户随意查询、浏览、定购图书,会员输入用户名和密码进入该网站,可以浏览网站中的书,也可以输入要购买的书的关键字查询到相关的图书,从而选择自己满意的书购买。而会员可以通过注册成为该网站的会员。注册成功后,用户的信息会自动更新在用户表中。要与数据库建立连接,前台要实现对图书查询、图书的添加、图书更新。后台要实现对图书购买的功能。包括购物车管理、订单结算等。2. 2.3课程设计环境系统开发平台和工具:MyEclipseProfessional2014GA,WebLogic12c,MySQL5.6.16o网上书店系统主要实现网上选书,购书,产生订单等功能。一个典型的网上商场一般都需要实现商品信息的动态展示,购物车管理,客户信息注册登录管理,订单处理等模块。2.1用户管理(1)会员登录:已注册过的用户即会员,输入用户名和密码,系统会自动与数据库中用户表的相关信息进行核对,信息正确,用户可以直接进入该网站,(2)用户注册:第一次光顾该网站的用户可以通过注册成为会员。注册成功后,该用户的信息会自动更新到用户表中。表明该用户已是会员。3. 2图书管理(1)图书查询:用户在进入该网站时,会在首页中分类显示出图书的信息,以供用户选择所需的图书。同时根据用户输入所购买图书的关键字查询到图书的相关信息,进行购买。(2)图书添加:当书店有新书添加时,通过与数据库中图书信息表建立连接,把新书的相关信息添加到数据库中,并更新数据库中的记录。这样便于图书管理(3)图书删除:书店里某种图书售完,需要及时删除图书的记录,并把删除结果更新到数据库中。4. 3购物车管理(1)购物车记录:当会员购买某种图书产品时,能够把对应图书信息,如:价格、数量记录到购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。(2)订单处理:对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货和处理。中间件技术课程设计报告3系统设计4.1 总体设计该网站采用三层构架,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。用户可以直接浏览图书、进行图书查询、查看书店简介、登录和注册查看图书详细资料、将图书加入购物车,但只有使用会员身份登录进入网上书店后才能提交购物车和查询订单。用户在前台首先通过浏览或查询等手段找到要购买的图书,然后将选定的图书放入购物车中。购物车是一个图书的临时存放地,用户可以对购物车进行管理,如删除图书或修改购买的数量。用户完全选定了要购买的图书后,就可以提交购物车并生成订单系统会提示提交成功,并显示订单号,前台的用户操作流程就结束了。此后用户还可以查询订单执行情况。5. 2功能设计(1)用户管理功能:主要实现书店会员登录以及新用户的注册。网上购物一般采用的是快递或邮寄的方式,所以要在数据库中记录下用户的联系方式、居住地址等信息。(2)图书信息管理功能:该模块实现图书书目信息的分类显示,也是提供图书信息依据书名及作者快速搜书的功能。此外,在用户选择了相应的图书后。可以显示出图书的详细信息,以便用户了解所购买的图书。卖家可以实现对新图书的添加,已售完图书的删除,及时更新图书的相关信息,为用户呈现最新的图书动态。(3)购物车管理功能:每个进入网上书店的用户都对应各自的购物车,当用户选择已购买的图书后,可以将图书放在购物车中。即将用户所购买的图书信息记录在对应的购物车里,当用户确定购买时,会有订单生成,此时用户只需进行结账处理就可购买到此书。总体流程图如下网上书店新用户注册登录普通用户管理员图书管理图书查询3.3数据库设计数据库是本网站的核心,系统中所有的信息都存储在数据库中,在所有JSP页面中通过JDBC与数据库连接,它允许发送SQL语句给数据库,并执行处理结果。从而实现所有需要的功能。数据库设计的步骤是:根据系统需求分析建立概念模型,将数据库的概念模型转换为数据模型,进行规范化处理,使数据模型满足实际应用需要。3. 3.1数据库概念结构设计该网上书店的实体主要包括:图书信息实体、管理员信息、用户信息实体、订单信息实体、各实体E-R图的描述如图3-1所示。1用户信息实体图:2管理员信息实体图3图书信息实体统图:4订单信息实体图:实体描述如下:用户信息实体包括用户名、密码、余额、真实姓名、用户性别、权限、客户邮箱、联系方式,其中用户名称为主键。管理员信息实体包括管理员编号、管理员姓名、管理员密码,其中管理员编号为主键。图书信息信息实体包括图书编号、图书类型、图书版本、图书名称、图书价格、图书出版社、图书作者、出版时间、图书数量,其中图书编号为主键。定单信息实体包括订单编号、订单用户名、订单数量、产生订单日期、确认是否发货、总价、客户邮政编码、支付方式、送货方式,其中订单编号为主键。3.3.2数据库逻辑结构设计将网上书店系统的实体图转换为关系数据库的数据模型(注下划线的属性为主码)其关系模式为:用户信息(用户名,密码,余额,真实姓名,客户性别,权限,客户邮箱,客户联系方式,客户邮箱,客户联系方式)管理员信息(管理员编号,管理员姓名,管理员密码)图书信息(图书编号,图书类型,图书版本,图书名称,图书价格,图书出版社,图书作者,出版时间,图书数量)订单信息(订单编号,订单用户名,订单数量,产生订单日期,确认是否发货,总价,客户邮政编码,支付方式,送货方式)根据以上结构设计,下面进行数据表的详细设计:(1)用户信息表中间件技术课程设计报告首先是用户登录,用户包括普通用户和管理员,普通用户和管理员有相应的权限设置,登录后进入该系统的首页,录后都可浏览。表中的各个字段的数据类型、大小以及简如表3-1所示。表3-1用户信息表字段名描述类型长度是否允许为空是否主键accountId用户名varchar20否是accountpwd密码varchar20否否balance余额varchar20否否truename真实姓名varchar20否否sex客户性别varchar50否否author权限boolean2否否email客户邮箱varchar50否否Telephone联系方式Varchar50否否(2)管理员信息表管理员具有最大的权限,管理员可以进入系统对图书信息进行查询。也可以对书店的图书进行添加、删除、更新等操作。管理员信息表中的各个字段的数据类型、大小以及简短的描述,如表3-2所示。表3-2管理员信息表字段名描述类型长度是否允许为空是否为主键adminid管理员编号varchar50否是adminname管理员姓名varchar50否否adminpwd管理员密码varchar50否否(3)图书信息表图书信息表(bookinfo)是用来保存网上书店每一种图书基本信息的数据表,是维护管理图书数据的依据。图书信息表中的各个字段的数据类型、大小以及简短的描述,如表3-3表3-3图书信息表字段名描述类型长度是否允许为空是否主键Id图书编号Int4否是booktype图书类型varchar50否否bversion图书版本varchar50否否bookname图书名称varchar100否否Price图书价格double15否否bconcern佟Ig出版社varchar255是否bookauth图书作者varchar50是否pdate出版时间datetime20是否bnumber图书数量int100否否(4)订单信息表当客户选择要购买的书后,会放到自己的购物车,系统会进行结算,生成相应的订单,订单信息表中的各个字段的数据类型、大小以及简短的描述,如表3-4所示。表3-4订单信息表字段名描述长度是否允许为空是否主键orderid订单编号int11否是ordername订单用户名varchar20否否bookNum书本数量Int4否否ordertime产生订单时间datetime20否否Isconfirm确认是否发货Boolean2否否Price总价Int4否否postcard邮政编码vchar50否否pay支付方式vchar50否否carry送货方式vchar50否否中间件技术课程设计报告4系统实现JAVA语言是目前Internet上大型的WEB应用程序开发时使用得最热门的编程语言,基于这两种技术的重要编程方法,完成网上书店系统。网上书店系统主要包括普通用户界面和管理员界面。普通界面包括用户注册和登录界面,用户修改个人信息,用户浏览图书信息,用户订购图书,用户提交订单,用户查看订单信息。管理员界面包括图书管理用户管理,订单管理。4.1普通用户界面(1)用户注册登录:首先用户进入登录界面,如果用户是会员下一步系统流程进入输入用户名和密码流程然后进入合法性检查流程如果用户名和密码合法那么用户将登录到用户界面,最后结束该流程,其次,如果用户不是会员,那么系统将进入会员注册流程让用户填写用户表单,然后进入是否合法流程,如果用户填写的表单合法将进入注册后返回到登录界面流程,如果用户填写不合法那么将进入重新注册。(2)用户修改个人信息:当用户需要修改个人信息时,先登录到该网上书店系统,然后进入个人信息修改界面,在这里可以修改个人信息。(3)用户浏览图书信息:用户登录该系统后,可以浏览书店所有图书信息。当用户要查看某种图书是,可以通过图书名称、图书类型、图书作者等关键字快速查询。(4)用户订购图书:用户选择好要购买的图书后,把图书添加到购物车中,此时系统会自动保存用户所订购的图书。(5)用户提交订单:当用户确定所购买的图书,可以提交订单,系统会自动计算用户所需支付的现金,用户可以选择不同的网上支付方式。最后提交订单。(6)用户查看订单信息:提交订单成功后,用户可以查看个人订单信息,查看自己所订购的图书,以及何时发货,何时到达。4.2管理员界面(1)图书管理:管理员可以对书店现有图书的信息进行修改,删除,查看。当有新书添加时,管理员可以把新书的相关信息添加到书店的图书信息数据库,并及时更新书店的主界面。让顾客在第一时间了解书店图书的动态变化。(2)用户管理:用户注册过后,系统会把用户的信息记录到用户信息数据库中,当有新用户注册时,系统要及时更新用户的信息表。同时管理员也可以对用户信息进行查询、修改,删除。(3)订单管理:用户在该书店购买过图书,系统会把该用户的信息记录下来,并记录在用户订单信息数据库中,系统会建立一个用户信息数据库。当用户购买图书时,系统查看该用户是否曾在该网站购买过图书,若购买过,系统就会自动显现用户的订单信息,用户只需核对信息是否正确后,就可以提交订单,若系统查看后得知该用户未在该网站购买图书,当用户提交订单后,系统要记录下用户的订单信息,并更新到用户订单信息表中查看订单清单,更新订单付款,出货状态,删除订单。4.3关键界面的实现(1)普通用户登录界面该网上书店首页就是普通用户登录界面,在该界面已注册过的用户输入用户名和密码,单击登录,用户系统会在后台与数据库中用户信息进行核对信息,如核对正确,用户可以成功登录。在该界面用户可以浏览图书信息,通过输入书名可以快速查找到用户想购买的图书。单击搜索,界面会出现该书名的全部图书,用户可以查看任意一本图书信息。WUTw±asCT4 XiWZ站公曾用户名:II 9 :诩0入棺名:9g=7界Fe应用与项目里机械工业出族社作者:陟酸、白伟 明、李kI 定饰:384元)1也小盘浜诜开友:买DA 装缶占"X.皿械工业由规壮S- 柞者:高*旭.李俊,民、张阳应6. . 定价:4 C元"二 ¾E I71工程包用与项目实 咖机跟工业出IW计 作者:王皿超牛馨 李由而用6 : 2 C元,Visual C* 鼐军妩完整项目实例朗 析人SaC电出版社作者:眄日档按tat :,8 C 元)JVi «ual 7«Xn。甘国g军晚元维项目实制创研rov«rBu»ld«t fSSKa,*!W5Mr a SCPVMtfr_ Viu*l Bxe tpJflUj e季我尧整塔日突伊JlM析_ Visual C* MfP<lM ,方蜕完兴理日次例Si帆< 87工程应用与项目女的图4-1普通用户登录界面(2)图书信息浏览界面首先用户在login,jsp页面输入必须填写的个人信息,并单击保存按钮来提交个人信息。提交后,在logincheck,jsp页面中进行验证,输入信息正确,用户会进入该系统,可以查看图书信息,从而购买自己想买的图书。商品分类管理新增商品分先共J3条记录,显示所有记录由用分类名禽商用分类总逑商用分类维中三)书国书修改商旦分类au*瞄晶分关SHte图书2修改两品分类IB除诲晶分类数品结狗计宜机修改商品分类IM*诲晶分类导出方式.CSVIExclI伺XJIL图4-2图书分类界面(3)图书添加界面。图书管理页面显示的是所有图书的信息列表,在图书管理页面中可以通过管理员对图书进行增加,删除,修改等操作。在这里实现对图书添加的界面。商品分类管理新增商品分类共找到4条记录,显示所有记录.商品分类名彝商品分类猫述商品分类绛中图书修改商SI分类删除商品分类图书2BHte修改商品分类删除商品分类数籍籍构计宜机修改商品分类删除质品分类XiGbee无线道信修改商品分类删除商品分类导出方式五ICSVIXlExcelIIVL中间件技术课程设计报告图4-2添加图书界面(4)购物车界面当用户选择要购买的图书后,可以进入个人购物车,把图书信息记录下来。最终提交订单购买图书。g购物车管理查购物车物品确认订单信息订提交成功商品的市场价会员价数里金额对不起,您目前尚未选购任何商品!清空购物车W继续购物进入下一步5.1系统测试的目的和原则在软件生存周期的每个阶段都不可避免地会产生错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里面更具有它的重要性5.2测试的方法在软件生存周期的每个阶段都不可避免地会产生错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里面更具有它的重要性。5.3测试实例的研究与选择开发任何较复杂的应用程序,错误都是不可避免的。JSP的应用程序也不例外。在本系统中就遇到了许多不同种类的错误。当某个JAVA方法中有什么东西真正的发生了错误时,它通常会抛出一个异常,异常是一个特殊的JAVA对象,而抛出异常就是一个用于表明自己不知道如何处理某个问题的方式,当TC)MCAT发现是哪个JSP页中发生了某个错误时,它会把异常站的跟踪发送给浏中间件技术课程设计报告览器。可以根据浏览器的提示进行修改。这样的错误经常是打字的疏忽造成的,即语法错误。检查错误比较好的一个方法是加入几个JSP表达式,以便在浏览器中可以看到,作为应答的一部分的变量的值,是调试JSP页最简单的方法。在处理一个请求时,会涉及多个页面,在这种情况下,将调试的输出写到一个文件中或写到启动服务器的命令行窗口中会更好一些。在整个程序调试成功可以运行后,还可能会由于所依靠的外部系统(如数据库)的问题而发生错误,而即使你已经对你的应用程序进行测试和调试,也可能还会有一些你没预料到的运行时的情况,所以说,运行的系统环境也非常重要。5. 4数据库连接在系统的整个开发工程中,我们最容易碰到的难题是数据库连接这个模块。在JavaBean中连接数据库注意的一些事项有:1 首先要下载MiCroSoftSQLServer2008DriverforJDBC这个包,并安装。2 把MicrosoftSQLServer2008DriverforJDBC的Iib文件夹下的:msbase.jar,mssqlserver.jar,msutil.jar三个文件拷贝到Tomcat安装目录下的counenlib文件夹下。3 把msbase.jar,mssqlserver,jar,msutil.jar三个文件的路径添加到CLASSPATH中。4如果使用的操作系统是Windowsxp在安装SQLServer2008后必须下载SP3补丁并安装,否则打不开1433端口号。在数据库连接中出现问题将会出现异常提示信息:org.apache,jasper.JasperExceptionorg.apache.jasper,servlet.JspServletWrapper.service(JspServletWrapper.java:372)org.apache,jasper,servlet.JspServlet.ServiceJspEile(JspServlet.java:292)org.apache,jasper,servlet.JspServlet.service(JspServlet.java:236)javax.servlet,http.HttpServlet.service(HttpServlet.java:802)这个时候可能出现的问题是数据库服务器没有开启,或者是没有安装MiCrOSOftSQLServer2008DriverforJDBC这个包。本文论述了一个基于WEB的网上商品销售系统,基本上体现了电子商务各方面的优点。我所设计的网上书店,主要是熟悉和掌握JSP的技术、Javaweb技术、servlet技术和JavaBean技术的开发和应用。在软件开发编码阶段我才用原型法,先设计出个一个实现简单功能的系统在更具需求一步步完善系统的功能。由于是才采用面向对象的设计所以系统中由很多类和方法,我将他们归类将经常使用的方法放在单独的类文件中,在以后的编码中只要通过对名称空间的引用就能调用他们。本系统在实现传统的网上书店功能基础上对增强系统的安全性进行了初步的尝试,但是由于这方面研究的不深所以实现的与需求还有一定的差距。在设计和制作网上书店这一个整体项目的过程中,也培养了自己的综合能力和从全局考虑的思想。将复杂的问题简单化,作为电子商务应用的一个缩影,我所涉及的模块项目完成了其后台具有的基本功能,使自己对于电子商务的了解更加深入。经过多日的开发,本网站的建设基本完成,各项功能也能够正常使用,但是由于毕业设计时间较短,所以该站点系统还有许多不尽如人意的地方,比如说功能不够丰富,没有对部分功能进行细化,对数据的安全性考虑不多等,这些都有待改进。经过这次毕业设计,我基本熟悉了网站开发的流程和基本技术,同时也提高了动手能力。中间件技术课程设计报告附录关键代码1 .主界面代码<%pagecontentType=z,texthtml;CharSet=gb2312"language=*javaz,import="java.sql.*%><jsp:useBeanid="connDB"SCOPe="page"ClaSS="beans.connDB"><jsp:useBeanid="chStr"SCOPe="page"CIaSS="beans.chStr"><%ResultSetrs_newbook=connDB.executeQuery(*selecttop5*fromtb_bookinfowherenewbook=lorderbyINTimedesc");ResultSetrs_sort=connDB.executeQuery("select*from(selecttop10*from(selectsum(number)asamount,ISBNfromtb_OrderdetailgroupbyISBN)astaborderbyamountdesc)oinnerjointb_bookinfobono.ISBN=b.ISBNorderbyo.amountdesc*);ResultSetrs_book=connDB.executeQuery(*select*fromtb_bookinfowherecommend=lw);%><html><head><宜116>网上书店</1:江16><metahttp-equiV=Xontent-Typecontent=z,texthtml;CharSet=gb2312”><linkhref="CSS/Style.css“rel="/stylesheet*><head><scriptlanguage="'javascript,>functioncheckU(myform)if(myform.username,value="")alert(“请输入用户名!")jmyform.username,focusO;return;)if(myform.PWD.VaIUe="")alert(“请输入密码!“);myform.PWD.focus();return;)myform.submit();)<script><body><tablewidth=*100%*border="。"CeIISPaCing="0"CeIIPadding="0"><tr><td><tableWidth="777"height="768"border=Talign="center“CelIPadding=0"CellSPaCing="0bgcolor="#FFFFFF”><tr><tdValign="top”><jsp:includepage=*Top.jsp*><tableWidth="100%"height="273"border="。"CeIIPadding="0"CeIlSPaCing="0"><tr><tdWidth="26旷height=*273*VaIign="top”><jsp:includepage="b.jsp"><td><tdWidth="5"Valign="top"background=/,Images/Cen_separate.gifz,><td><tdWidth="73%"Valign="top”><formname="form1"method="post"action=*Login.JJ.jsp*><table><tr><td>用户名:<td><tdheight="24"align=z,center*><inputname=z,usernamez,type="text"CIaSS="txt_grey"id="username”SiZe="16”><tcl><td>密码:<td><tclheight="24"align=z,center*><inputname=z,PWD*type="password"CIaSS="txt_grey"id="PWD"SiZe="16”OnKCydOWn="if(event.keyCode=13)forml.submit();<td><tdheight="31"align="centcr”><inputname="Button"type="button"ClaSS="btn_grey"ValUC="注册"OnCliCk="window,location,href三,register,jsp,”> <inputnamc="Submit2"type="button“ClaSS="btn_grey"ValUe="登录"onClick=z,checkU(forml)*><inputnamc="Submit3type=z*reset*ClaSS="btngrey"VaiUC="重置Xtd><td> </td><tr><table><form><tableWidth="100%"height="428"border="。"CeIlPadding="O"cellspacing="。”<tr><tdheight="52"COISPan="3"><jsp:includepage=zzsearch,jsp,z><td><tr><tr><tdWidth="73%"height="376"VaIign="top”<tableWidth="100%"hcight="126"border="。"CeIlPadding="O"cellspacing=z,O*><%rsbook.last();intRecordCount=rs_book.getRow();/获取记录总数rsbook.first();for(inti=l;KRecorclCount+1;i+)注意:此处必须按照字段的顺序读取StringISBN=rs_book.gctString("ISBN");Stringbooknamc=rsbook.getString(*BookName,);StringPUbliShCr=rsbook.getString("publisher");Stringauthor=rs_book.getString("Writer");intprice=rsbook.getInt("Price");Stringcover=rsbook.getString("cover");if(i%2)!=0)(%><tr><td><tableWidth="100%"hcight="123"border="。"CelIPadding="O"cellspacing="。”<tr><tdWidth="43%"align="CCntCr"Xahref=*bookdetail.jspVISBN=<%=ISBN%>,XimgSrC="manage/COVer<%=cover%>“width="76”height="*110z,><a><td><tclWidth="57%"><tableWidth="100%"height=*l19*border="。"CelIPadding="O"cellspacing="。”<tr><td><%=bookname%></td><tr><tr><td><%=publisher%></td><tr><tr><td>作者:<%=author%><td><tr><td>定价:<%=String.valuef(price)%>(元)<td><tr><tdalign=*center*><%if(session.getAttribute(UserName*)!=null)%><inputname=,Submit5zztypc="submit"ClaSS="btn_grey"ValUe="购买“OnClick=zrWindow.location,href三,cartAdd.jsp?ISBN=<%=ISBN%>'”><%><inputname="Submit6"typc="submit"CIaSS="btn_grey“VaiUe="查看“OnCIiCk="window,location,hrcf='bookdctaiLjsp?ISBN=<%=ISBN%>>”><td><tr><table><td><tr><table><td><%else%><td><tableWidth="100%"height="123"border="。"CeIlPadding="O"cellspacing=z,O*><tr><tdWidth="43%"align=*center*><ahref三,bookdetail,jsp?ISBN=<%=ISBN%>,Ximgsrc=,manage/cover<%=cover%>z,Width="76”height=4*110*><a><tcl><tdWidth="57%"align="CCntCr"><tablewidth=*100%z,height="119"border="。"CellPadding="O"CeIlSPaCing="0”><tr><td><%=bookname%><td><tr><tr><td><%=publisher%><td><tr><tr><td>作者:<%=author%><td><tr><tr><td>现价:<%=String.valuef(price)%>(元)<td><tr><tr><tdalign=*center/z><%if(session.getAttribute("UserNamc")!=null)%><inputnamc=,Submit5z,type=*submit*CIaSS="btn_grey"VaIUe="购买onClick=*window.location,href=*cartAdd.jsp?ISBN=<%=ISBN%>'”><%><inputnamc="Submit62'type="submit"CIaSS="btngrey“value="查看“OnCIiCk="window,location,href三,bookdetail.jsp7ISBN=<%=ISBN%>>*><td><tr><table><td><tr><table><td><%)rsbook.next();)%><tr><table><td><tdWidth="5"background=Images/Censeparate.gif”>finbsp;<td><tdValign="top"><tablcWidth="100%"hcight="376"border="。"CellPadding="O"cellspacing=z,O*><tr><tdalign="right"><imgSrC="Images/index2.gif"Width="161"height=*46*></td><tr><tr><tdWidth=