完整word版JAVAWEB课程设计实验报告_第1页
完整word版JAVAWEB课程设计实验报告_第2页
完整word版JAVAWEB课程设计实验报告_第3页
完整word版JAVAWEB课程设计实验报告_第4页
完整word版JAVAWEB课程设计实验报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、目录19第一章概述【实验目的】【需求分析】 第二章网上商店结构分析与设计【前言】2.1系统结构图2.2系统功能分析第三章详细设计3.1数据库设计3.2商品模块实现3.2.1模块功能实现和关键代码说明3.3用户注册/登录模块实现3.3.1模块功能实现和关键代码说明123.4 购物车模块实现3.4.1模块功能实现和关键代码说明12163.5结算功能模块第四章总结【技术总结】18【心得体会】第一章概述【实验目的】1.掌握java-web网站设计的全过程;2.进一步熟练Servlet技术、数据库、标签等一般java-web应用技术;3. 掌握整个java-web应用架构、目录结构以及服务器使用。【需求

2、分析】1. 设计一个较完善的网上军靴商店;2. 账户模块:提供用户注册、登录,考虑用户数量增减,需要用数据库技术;3. 商品显示模块:出于增加销售量考虑,需要有简单广告功能,并提供商品 详细参数;推广商品,网站需要对热销商品展示以及商品分类显示、商品查询;4. 订单管理模块、订单详细信息模块:显示已保存的订单的详细信息;5. 购物车模块:添加/删除商品,结帐,显示订单信息。第二章网上商店结构分析与设计【前言】随着信息化技术在生活中的应用越来越广泛, 网上购物也逐渐成为人们的一 种生活方式。本系统正是基于这样一种环境下应运而生。 本电子商城为前台部分, 前台主要实现会员的网上购物业务流程、用户注

3、册、用户资料修改。本商城主要利用javaservlet技术进行开发,有很强的逻辑性、可扩展性, 便于维护。商城界面设计主要实用了 CSS美化了店面。其次本商城设计还使用了 JSP技术、JDBC技术、JavaBean 技术、css。2.1系统结构图商店前台收银台模块 商 品 分 类 显 示 模 块订 单 显 示 模 块图2.1系统整体框图2.2系统功能分析新品上市模块:在首页框架中显示新品列表畅销商品模块:在首页框架中显示畅销列表购物车模块:显示已点击购买但没结账的商品结账模块:直接显示当前订单查看商品信息模块:显示当前商品详细信息商品分类模块:分类显示商品全部商品模块:显示商品列表查询商品模块

4、:搜寻商品,显示商品信息用户注册模块:实现用户注册统功能分析第三章详细设计3.1数据库设计商品表(shoe)31司舔帳熬蘇铠锻魁亦養歸龍霸19011 12 am-l嶽舅g 備障醱星也啦汨丁蜀盘偏童袍钢fe.14S3 伏静特子美511 钳;畀登fc痔揍岂揃遷F2303114陆湘碼嫖锦t)t谜ft輕糊81康晦1801651960L6涝顾包司fi河配如亀;602typcldprice第慣 aiiciirrtshield rjrw用户表(user)usernamepasswcrdmailtel?1231169716219 Oqqcom1336314&61admin123123123gwh1231169

5、716219qq,con123456759gypgypaaaaSaqwe120qq,eomqwetest133dffd用户订单表(orderinfo )orde-rldusernametrueMaiTiecountpayment1admindyf125345&120FrI May 09 t)去23:12 CST : admingyp657635130Frii May 凹 02:23:47 CST : ddirtimdouyiferXXXX 3DCXX XXXH XXXK120Fri May 09 C;:59:16 CST : adminyp67S645340Fri May 09 03:10:3

6、3 CST ; adminlidong45757&763978320I Thu May 15 15:32:33 CST admhXXXX yxxx XKXX xxxx.1403.2商品模块实现3.2.1 模块功能实现和关键代码说明Begi n先由JSP页面发出请求调用 mypack包下 GetshoeServlet,调用里面的 doGet方法,然后调用db.executeQuery(sql)方法,查询数据库,查到热销商品的列表,保存进requeset对象的resault变量里,然后通过调用取出其中的值,显示到主页面。商品查询模块按商品ID、关键词查询,商品显示模块使用同样方法根据不同条件查询数

7、据库。主要代码如下:p rotectedvoiddoGet(Htt pServletRequestreq,Http ServletRes ponse res p)throws ServletExce pti on, I OExce pti on req.setCharacterE ncodi ng(utf-8);Stri ng typ eld = req.get Parameter(t yp eld);Stri ng shoeId = req.get Parameter(shoeld);Stri ng keyword = req.get Parameter(keyword);Stri ng s

8、ql = select * from shoe;Stri ng sql1 = select * from shoe where typ eld = ?;String sql2 = select * from shoe where shoeld = ?;List shoelist = new ArrayList();Htt pSessi on sessi on = req.getSessio n();BookDB db = n ull;CachedRowSet result = n ull;try db = new BookDB();if(ty peld != null)if(ty peld.e

9、quals(O)result = db.executeQuery(sql);elseresult = db.executeQuery(sql1, typ eld);while(result .n ext()Shoe shoe = new Shoe();shoe.setT yp e(result.getStri ng(1);shoe.setShoeld(result.getl nt(2);shoe.setName(result.getStri ng(3);shoe.set Pnce(result.getFloat(4);shoelist.add(shoe);sessi on. setAttrib

10、ute(shoelist, shoelist);resp .se ndRedirect(req.getC on text Path()+/catalog.js p);resultif(shoeld != n ull)db.executeQuery(sql2,In teger. parsel nt(shoeld);if(result .n ext()Shoe shoeDetail = new Shoe();shoeDetail.setT yp e(result.getStri ng(1);shoeDetail.setShoeld(result.get In t(2);shoeDetail.set

11、Name(result.getStri ng(3);shoeDetail.set Pnce(result.getFloat(4);shoeDetail.setSale_a moun t(result.getI nt(5);sessio n.setAttributeCshoedetail,shoeDetail);resp .se ndRedirect(req.getCo ntext Path()+/shoedetail.js p);if(keyword != n ull) result = db.executeQuery(sql);while(result .n ext()if(result.g

12、etStri ng(3).co ntai ns(keyword)Shoe shoe = new Shoe();shoe.setT yp e(result.getStri ng(1);shoe.setShoeld(result.getl nt(2);shoe.setName(result.getStri ng(3);shoe.set Pnce(result.getFloat(4);shoelist.add(shoe);sessi on. setAttribute(shoelist, shoelist);resp .se ndRedirect(req.getC on text Path()+/ca

13、talog.js p); catch (Exce ptio n e) / TODO Auto-ge nerated catch block e.prin tStackTrace();3.3用户注册/登录模块实现3.3.1 模块功能实现和关键代码说明Begi n先由 JSP 页面发出请求调用myp ack 包下UserRegistServlet/UserLoginServlet,调用里面的 doGet 方法,然后调用db.executeQuery(sql1, user name, p assword)方法,更新数据库。主要代码如下:登录(UserLoginServlet ):Htt pSessi

14、 on sessi on = req.getSessio n();try db = new BookDB();result = db.executeQuery(sql1, user name, p assword);if (result. next() user = new User();user.setUser name(result.getStn ng(1);user.set Password(result.getStn ng(2);user.setMail(result.getStri ng(3);user.setTel(result.getStri ng(4);sessi on. se

15、tAttribute(user, user);resp .se ndRedirect(req.getC on text Path()/in dex.js p); else resp .se ndRedirect(req.getC on text Path()/logi n.jsp? statu=no);注册(UserRegistServlet ):Stri ng user name = req.get Parameter(user name);Stri ng p assword = req.get Parameter password);Stri ng mail = req.get Param

16、eter(mail);Stri ng tel = req.get Parameter(tel);Stri ng sql1 = select * from user where user name = ?;Stri ng sql2 = in sert into user values(?, ?, ?, ?);BookDB db;CachedRowSet result = n ull;try db = new BookDB();result = db.executeQuery(sql1, user name);if(result .n ext()resp .se ndRedirect(req.ge

17、tC on text Path()+/regist.js p?statu=no)elsedb.executeU pdata(sql2, user name, p assword, mail,tel);resp .se ndRedirect(req.getCo ntext Path()+/regist.js p?statu=ok)3.4购物车模块实现3.4.1 模块功能实现和关键代码说明Begi n图3.1购物车模块流程图先由JSP页面发出请求调用org.acti on包下的 fin did方法,fin did调用 DaoImpl 包里的 findOrderByld,把得到的结果,保存到 ses

18、sion里取名orderl通过orderdetail里取变量得到这个值,显示到主页面。主要代码如下:Add ()方法:P ublic synchroni zed void add(Stri ng shoeId, Shoe shoe) if(items.co ntai nsKey(shoeld) Shoppin gCartItemscitem(Sh oppin gCartItem)items.get(shoeId);scitem.i ncreme ntQua ntity(); else Shoppin gCartItem n ewItem = new Shoppin gCartltem(shoe

19、);items .pu t(shoeld, n ewItem);nu mberOfltems+;Remove () 方法:p ublic synchroni zed void remove(Stri ng shoeId) if(items.co ntai nsKey(shoeld) Shoppin gCartItemscitem(Sh oppin gCartItem)items.get(shoeId);scitem.decreme ntQua ntity();if(scitem.getQua ntity() = 0)items.remove(shoeId);nu mberOfItems-;Ge

20、ttotalO 方法:p ublic synchroni zed double getTotal() double amount = 0.0;for(Iterator i = getItems().iterator(); i.hasNext(); ) Shoppin gCartItem item = (Sh oppin gCartItem) i.n ext();Shoe shoe = (Shoe) item.getItem();amount += item.getQua ntity() * shoe.get Price();return roun dOff(am ount);p rivate double roun dOff(double x) long val = Math.rou nd(x*100); / cents return val/100.0;p ublic syn chro ni zed void clear() items.clearO;nu mberOfItems = 0;3.5结算功能模块从 showcart.js

温馨提示

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

最新文档

评论

0/150

提交评论