




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第一章 概述3【实验目的】3【需求分析】3第二章 网上商店结构分析与设计3【前言】32.1 系统结构图42.2系统功能分析4第三章 详细设计53.1数据库设计53.2 商品模块实现63.2.1 模块功能实现和关键代码说明63.3 用户注册/登录模块实现103.3.1 模块功能实现和关键代码说明103.4 购物车模块实现133.4.1 模块功能实现和关键代码说明133.5 结算功能模块16第四章 总结18【技术总结】18【心得体会】18第一章 概述【实验目的】1. 掌握java-web网站设计的全过程;2. 进一步熟练Servlet技术、数据库、标签等一般java-web应用技术;3. 掌握整个java-web应用架构、目录结构以及服务器使用。【需求分析】1. 设计一个较完善的网上军靴商店;2. 账户模块:提供用户注册、登录,考虑用户数量增减,需要用数据库技术;3. 商品显示模块:出于增加销售量考虑,需要有简单广告功能,并提供商品详细参数;推广商品,网站需要对热销商品展示以及商品分类显示、商品查询;4. 订单管理模块、订单详细信息模块:显示已保存的订单的详细信息;5. 购物车模块:添加/删除商品,结帐,显示订单信息。第二章 网上商店结构分析与设计【前言】随着信息化技术在生活中的应用越来越广泛,网上购物也逐渐成为人们的一种生活方式。本系统正是基于这样一种环境下应运而生。本电子商城为前台部分,前台主要实现会员的网上购物业务流程、用户注册、用户资料修改。 本商城主要利用javaservlet技术进行开发,有很强的逻辑性、可扩展性,便于维护。商城界面设计主要实用了CSS,美化了店面。其次本商城设计还使用了JSP技术、JDBC技术、JavaBean技术、css。2.1 系统结构图商店前台商品查询模块用户注册模块购物车模块热销商品模块新品上市模块商品分类显示模块用户登录模块收银台模块订单显示模块图2.1 系统整体框图2.2系统功能分析新品上市模块:在首页框架中显示新品列表畅销商品模块:在首页框架中显示畅销列表购物车模块:显示已点击购买但没结账的商品结账模块:直接显示当前订单查看商品信息模块:显示当前商品详细信息商品分类模块:分类显示商品全部商品模块:显示商品列表查询商品模块:搜寻商品,显示商品信息用户注册模块:实现用户注册统功能分析第三章 详细设计3.1数据库设计商品表(shoe)用户表(user)用户订单表(orderinfo)3.2 商品模块实现 3.2.1 模块功能实现和关键代码说明Begin调用mypack包下Getshoeservlet里doGet方法 返回GoodsAction查询数据库显示到主页面先由JSP页面发出请求调用mypack包下GetshoeServlet,调用里面的 doGet方法,然后调用db.executeQuery(sql)方法,查询数据库,查到热销商品的列表,保存进requeset对象的resault变量里,然后通过调用取出其中的值,显示到主页面。商品查询模块按商品ID、关键词查询,商品显示模块使用同样方法根据不同条件查询数据库。主要代码如下:protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException req.setCharacterEncoding(utf-8);String typeId = req.getParameter(typeId);String shoeId = req.getParameter(shoeId);String keyword = req.getParameter(keyword);String sql = select * from shoe;String sql1 = select * from shoe where typeId = ?;String sql2 = select * from shoe where shoeId = ?;List shoelist = new ArrayList();HttpSession session = req.getSession();BookDB db = null;CachedRowSet result = null;try db = new BookDB();if(typeId != null)if(typeId.equals(0)result = db.executeQuery(sql);elseresult = db.executeQuery(sql1, typeId);while(result.next()Shoe shoe = new Shoe();shoe.setType(result.getString(1);shoe.setShoeId(result.getInt(2);shoe.setName(result.getString(3);shoe.setPrice(result.getFloat(4);shoelist.add(shoe);session.setAttribute(shoelist, shoelist);resp.sendRedirect(req.getContextPath()+/catalog.jsp);if(shoeId != null)result = db.executeQuery(sql2, Integer.parseInt(shoeId);if(result.next()Shoe shoeDetail = new Shoe();shoeDetail.setType(result.getString(1);shoeDetail.setShoeId(result.getInt(2);shoeDetail.setName(result.getString(3);shoeDetail.setPrice(result.getFloat(4);shoeDetail.setSale_amount(result.getInt(5);session.setAttribute(shoedetail, shoeDetail);resp.sendRedirect(req.getContextPath()+/shoedetail.jsp);if(keyword != null)result = db.executeQuery(sql);while(result.next()if(result.getString(3).contains(keyword)Shoe shoe = new Shoe();shoe.setType(result.getString(1);shoe.setShoeId(result.getInt(2);shoe.setName(result.getString(3);shoe.setPrice(result.getFloat(4);shoelist.add(shoe);session.setAttribute(shoelist, shoelist);resp.sendRedirect(req.getContextPath()+/catalog.jsp); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();3.3 用户注册/登录模块实现3.3.1 模块功能实现和关键代码说明 Begin调用/ARMY-SHOES/UserLoginServlet和UserRegistServlet 返回查询/更新数据库显示regist.jsp/login.jsp先由JSP页面发出请求调用mypack包下UserRegistServlet/UserLoginServlet,调用里面的 doGet方法,然后调用db.executeQuery(sql1, username, password)方法,更新数据库。主要代码如下:登录(UserLoginServlet):HttpSession session = req.getSession();try db = new BookDB();result = db.executeQuery(sql1, username, password);if (result.next() user = new User();user.setUsername(result.getString(1);user.setPassword(result.getString(2);user.setMail(result.getString(3);user.setTel(result.getString(4);session.setAttribute(user, user);resp.sendRedirect(req.getContextPath() + /index.jsp); else resp.sendRedirect(req.getContextPath() + /login.jsp?statu=no);注册(UserRegistServlet):String username = req.getParameter(username);String password = req.getParameter(password);String mail = req.getParameter(mail);String tel = req.getParameter(tel);String sql1 = select * from user where username = ?;String sql2 = insert into user values(?, ?, ?, ?);BookDB db;CachedRowSet result = null;try db = new BookDB();result = db.executeQuery(sql1, username);if(result.next()resp.sendRedirect(req.getContextPath()+/regist.jsp?statu=no);elsedb.executeUpdata(sql2, username, password, mail, tel);resp.sendRedirect(req.getContextPath()+/regist.jsp?statu=ok);3.4 购物车模块实现 3.4.1 模块功能实现和关键代码说明Begin调用mypack包下 ShoppingCart里的add()/remove()/getTotal()方法 返回item查询数据库显示showCart.jsp图3.1 购物车模块流程图先由JSP页面发出请求调用org.action包下的findId方法,findId调用DaoImpl包里的findOrderById,把得到的结果,保存到session里取名order1通过orderdetail里取变量得到这个值,显示到主页面。主要代码如下:Add()方法: public synchronized void add(String shoeId, Shoe shoe) if(items.containsKey(shoeId) ShoppingCartItem scitem = (ShoppingCartItem) items.get(shoeId); scitem.incrementQuantity(); else ShoppingCartItem newItem = new ShoppingCartItem(shoe); items.put(shoeId, newItem); numberOfItems+; Remove()方法: public synchronized void remove(String shoeId) if(items.containsKey(shoeId) ShoppingCartItem scitem = (ShoppingCartItem) items.get(shoeId); scitem.decrementQuantity(); if(scitem.getQuantity() = 0) items.remove(shoeId); numberOfItems-; Gettotal()方法:public synchronized double getTotal() double amount = 0.0; for(Iterator i = getItems().iterator(); i.hasNext(); ) ShoppingCartItem item = (ShoppingCartItem) i.next(); Shoe shoe = (Shoe) item.getItem(); amount += item.getQuantity() * shoe.getPrice(); return roundOff(amount); private double roundOff(double x) long val = Math.round(x*100); / cents return val/100.0; public synchronized void clear() items.clear(); numberOfItems = 0; 3.5 结算功能模块从showcart.jsp转到cashier.jsp,调用HandleOrderS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁波明州数学试卷
- 萍乡期末高一数学试卷
- 七彩阳光高中数学试卷
- 丘北县中考数学试卷
- 江苏农牧科技职业学院招聘考试真题2024
- 七下和八上数学试卷
- 2025年企业市场经理考试模拟卷及答案
- 二零二五年度商铺租赁合同下载与签订指南
- 二零二五年水利工程设备租赁分包合同范本
- 二零二五年度高速公路停车场车位买卖协议
- 疲劳影响量表(FIS)
- 电竞行业用户分析
- 建筑防火基础知识
- 首诊负责制度检查分析报告
- 汤小丹《计算机操作系统》官方课件 第四版
- 新药研发方案及计划书模板
- 走近昆曲《牡丹亭》
- 3D打印混凝土材料性能试验方法
- XX学校学校集体备课实施方案细则、方案、计划、制度、总结(全套资料)
- 不良资产项目律师法律尽调报告(模板)
- 医疗设备、器械项目实施方案、服务实施方案
评论
0/150
提交评论