




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HUNAN CITY UNIVERSITY WEB应用与开发课程设计报 告设计题目: 网上购物系统 专 业: 信息管理与信息系统 学生姓名: XXX 班级学号: XXXX 分组成员: XXXXXXXXXXXXXXXXXXX 指导教师: XXXXXXXXXXXXXXXXX 2012 年 06 月 08 日WEB应用与开发课程设计报告XXXXXXXXXXXXXXXXXXX一、设计时间 2012年6月 04日-6月08日总的设计时间为1周, 第17周。具体安排如下:1、分析设计准备阶段(第17周周一至周二) 2、编程调试阶段(第17周周三至第17周周四) 3、书写设计报告和书写说明书阶段(第17周周五) 4、考核阶段(第17周周五) 二、设计地点 信息科学与工程学院机房(新校区510机房)三、设计目的通过对一些实际问题的软件设计,使学生能将课本的理论知识应用于实践,编制出较为实用的小系统,培养学生查阅资料的习惯,提高学生独立思考和解决问题的能力。 1、巩固学习WEB基础知识方面的基本算法,进一步熟悉基本概念。 2、熟练html标记语言、Java语言的应用、tomcat软件和SQL数据库的应用。 3、运用所学的WEB知识,能够实际做出较为实用的小项目,增进一些实际问题的软、硬件知识的掌握。 4、培养查阅资料,独立思考问题的能力。四、设计小组成员 XXXXXXXXXXXXXXXXXXXXXXXXXXXX五、指导老师 XXXXXXXXXXXXXXXXXXXXXX六、设计课题 网上购物系统JpetStore网上宠物商店 七、基本思路及关键问题的解决方法 1、购物系统的需求与分析:在正式开发之前,应先了解系统应实现的功能。为了解系统的需求,通过观察著名网站的电子商务界面淘宝网站等,可以发现共同拥有d饿选项有:商品的图片、商品的分类提供搜索商品的功能等、用户登录后方可goum 商品。用户选中的一些商品先存放与购物车中,在最后下订单时进行汇总。因此可初步了解到JpetStore购物系统的基本功能。普通用户可以浏览所以大类别商品,查看某一大类别商品下的所有小类别商品分类、小类别商品下的所有商品,搜索商品,将商品添加到购物车,更新购物车等。 2、数据库表的设计:数据库设计时系统开发过程的一个重要环节,它具体可以分为两部分:一个是概念模型设计,即E-R图的设计;二是物理模型设计,即数据库/表字段的设计。3、购物车的理解、购物清单结算4、运行工程(本人有完整的项目需要的话发邮件给我)八、算法及流程图(一)功能模块的实现系统功能模块的划分前台系统顺序流程图1、大类别显示应用程序的首页只提供了一个Enter the Store的链接时,将导航到大类别页面,要完成这个过程,需要执行一下步骤: (1)设置链接,为“Enter the Store”添加链接,代码如下: Enter the Store (2)设置配置文件,在web.xml中添加如下代码: IndexServletorg.bzc.jpetstore.servlets.IndexServlet IndexServlet/index.do (3)在src目录的orgbzcjpetstoreservlets文件夹中新建名为IndexServlet的类,Servlet本身并没有处理业务数据,而是调用CategoryBiz类的相关方法操作,具体代码如下: public class IndexServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException CategoryBiz categorybiz = new CategoryBiz();String tourl = ; /因为其他页面也需要获取大类别数据,所以存放于session中 HttpSession session = request.getSession(); /初始化一个List对象,用来存储大类别数据List list = new ArrayList();try /调用业务对象获取数据list = categorybiz.searchById(0, );tourl = /catalog/Main.jsp; catch (Exception e) tourl = index.html;e.printStackTrace();session.setAttribute(categroyList, list);request.getRequestDispatcher(tourl).forward(request, response); (4)在src目录的orgbzcjpetstorebiz文件夹中新建名为CategoryBiz的类,CategoryBiz与数据库进行相互。此处需要查询的是所有的大类别数据,后面还需要根据大类别ID查询大类别数据,将这两部分整合,均由searchByld()方法提供这个功能。具体代码如下:public class CategoryBiz ControlDB controlDB = null;public CategoryBiz() controlDB = new ControlDB();public List searchById(int flag, String catid) String sql = ;List list = new ArrayList();if (flag = 0) sql = select * from category; else if (flag = 1) sql = select * from category where catid= + catid + ;System.out.println(sql);try list = controlDB.executeQueryCategory(sql); catch (Exception e) e.printStackTrace();return list; (5)编写封装与数据库操作的ControlDB类。 (6)编写main.jsp页面,它用来显示大类别数据。main.jsp页面的部分代码如下:$ 运行Tomcat,执行此部分操作,最终效果如图所示:2、小类别显示,完成步骤同大类别显示运行Tomcat,执行此部分操作,最终效果如图所示:3、商品显示,完成步骤同大类别显示运行Tomcat,执行此部分操作,最终效果如图所示:4、添加商品到购物车在商品的列表页面提供了添加到购物车的链接。单击Add to Cart链接可以把与之对应的商品添加入购物车中。要完成这个过程,需要执行一下步骤:(1)设置链接,为商品添加链接,在商品上创建链接的代码如下: (2)设置配置文件,在web.xml中添加如下代码:ItemServletorg.bzc.jpetstore.servlets.ItemServletItemServlet/item.do(3)在src目录的orgbzcjpetstoreservlets文件夹中新建名为ProductServlet的类,Servlet本身并没有处理业务数据,而是调用ItemBiz类的相关方法操作,具体代码如下:public class ProductServlet extends HttpServlet public void init() throws ServletException public void destroy() public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String path = request.getParameter(path);HttpSession session = request.getSession();List listProduct = new ArrayList();ProductBiz productbiz = new ProductBiz();ItemBiz itembiz = new ItemBiz();String tourl = ;if (show.equals(path) String productId = request.getParameter(productId);try List itemList = itembiz.searchByproductId(productId);Product product = (Product) productbiz.searchById(1, productId).get(0);session.setAttribute(itemList, itemList);session.setAttribute(product, product); catch (Exception e) e.printStackTrace();tourl = /catalog/Product.jsp; else listProduct = productbiz.searchById(0, );tourl = index.html;session.setAttribute(listProduct, listProduct);request.getRequestDispatcher(tourl).forward(request, response);(4)编写Cart.jsp页面,来显示购物车中的商品项数据,Cart.jsp页面的部分代码如下:<< Main MenuShopping Cart Item ID Product ID Description In Stock? Quantity List Price Total Cost Your cart is empty. $cartitem.item.itemid $ductid $cartitem.item.attr1 $cartitem.item.attr2 $cartitem.item.attr3 $cartitem.item.attr4 $cartitem.item.attr5 $ $cartitem.inStock $cartitem.item.listprice $cartitem.total Sub Total: $cart.subTotal 运行Tomcat,执行此部分操作,最终效果如图所示:5、购物车中商品的管理在商品的列表页面提供了更改商品数量的输入框,用户可以更改数量,然后单击updatecart链接,完成更新购物车的操作,当操作执行完成后,返回本页面。单击remove链接可以把与之对应的商品从购物车中删除。(1)设置链接。如果用户执行“删除”操作,代码设置为:如果用户执行“修改”操作,将提交表单代码设置为:(2)设置配置文件。(3)在ItemServlet类中添加处理修改和删除功能的代码,具体如下:/获取商品标号String workingItemId = request.getParameter(itemId);Cart cart = null;CartItem cartitem = null;/应该有个错误信息页跳转if (session.getAttribute(cartItems) = null) cart = new Cart(); else cart = (Cart) session.getAttribute(cart);/如果购物车中存在此商品,删除if (cart.containsItemId(workingItemId) cart.incrementQuantityByItemId(workingItemId); else Item item = (Item) itembiz.searchById(1, workingItemId).get(0);cart.addItem(item, true);List cartItems = cart.getCartItemList();session.setAttribute(cartItems, cartItems);session.setAttribute(cart, cart);tourl = /cart/Cart.jsp; else if (removeItemFromCart.equals(path) String workingItemId = request.getParameter(workingItemId);Cart cart = null;CartItem cartitem = null;/ 应该有个错误信息页跳转if (session.getAttribute(cartItems) = null) tourl = /cart/Cart.jsp;request.getRequestDispatcher(tourl).forward(request, response); List cartItems = cart.getCartItemList();session.setAttribute(cartItems, cartItems);session.setAttribute(cart, cart);tourl = /cart/Cart.jsp; else if (updateCartQuantities.equals(path) Cart cart = null;CartItem cartitem = null;if (session.getAttribute(cartItems) = null) tourl = /cart/Cart.jsp;request.getRequestDispatcher(tourl).forward(request, response); else cart = (Cart) session.getAttribute(cart);List cartItem = cart.getCartItemList();/ 定义一个map来接收页面上传来的所有值Map parameterMap = new HashMap();for (int i = 0; i cartItem.size(); i+) String key = cartItem.get(i).getItem().getItemid();String value = request.getParameter(quantity + key);System.out.println(value + *);parameterMap.put(key, value);/ 调用修改数量的方法cart.updateCartQuantities(parameterMap);List cartItems = cart.getCartItemList();session.setAttribute(cartItems, cartItems);session.setAttribute(cart, cart);tourl = /cart/Cart.jsp; else if (checkout.equals(path) tourl = /cart/Checkout.jsp; else if (viewCart.equals(path) tourl = /cart/Cart.jsp; else listItem = itembiz.searchById(0, );tourl = index.html;session.setAttribute(listItem, listItem);request.getRequestDispatcher(tourl).forward(request, response);(二)运行工程1、使用工具:JDK:6.0、Web服务器:Tomcat 6.0、数据库服务器:SQL 2005、开发平台:MyEclipse 6.02、运行程序:Tomcat启动后,在地址栏中输入http:/localhost:8080/jpetstore ,进入宠物商店的欢迎页面。九、调试过程中出现的问题及相应解决办法1、数据库与JSP连接不上,导致只出现设置的界面而没有数据显示。解决方法:在orgbzcjpetstoredbConnectionFactory.java中加载数据库驱动如下:driver = com.microsoft.sqlserver.jdbc.SQLServerD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福州东盟海产品交易所有限公司总经理职位职业经理人市场化选聘考前自测高频考点模拟试题及参考答案详解一套
- 2025福建三明大田县公开招聘紧缺急需专业教师7人考前自测高频考点模拟试题及1套完整答案详解
- 小学安全培训收费标准表课件
- 2025年临沂兰陵县教育系统部分事业单位公开招聘教师(5人)考前自测高频考点模拟试题有答案详解
- 2025江苏连云港市海州湾发展集团有限公司及子公司招聘20人考前自测高频考点模拟试题及完整答案详解
- 2025广东广州市中山大学孙逸仙纪念医院超声科医教研岗位招聘模拟试卷及答案详解(历年真题)
- 安全培训教学课件制作
- 2025江西吉安市直三家公立医院编外招聘33人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025福建省高速公路集团有限公司招聘43人考前自测高频考点模拟试题及参考答案详解
- 2025年合肥庐阳科技创新集团有限公司招聘6人模拟试卷及参考答案详解
- 电信明厨亮灶合同范本
- 临床医师定期考核必刷题库及答案(一)
- 职业本科《大学英语》课程标准
- 2024年承包建设工程合同
- 英语语法课程教学大纲
- 《陆上风电场工程概算定额》NBT 31010-2019
- 水平四初中羽毛球大单元教学教案(18课时)
- 2024年河北石家庄市高速公路集团限公司面向社会公开招聘收费人员150名公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 酒店住宿抵款协议书
- 【基于WBS分解图的工程项目施工进度管理与优化案例探析22000字(论文)】
- 配电箱安全专项教育培训课件
评论
0/150
提交评论