zoukankan      html  css  js  c++  java
  • java web 程序---购物车项目内容:

    1.项目介绍
       典型电子商务系统(在线购物平台)。模拟了当当系统部分功能。
    2.功能需求
        1)用户管理模块(3天)user
             实现登录、注册功能
        2)产品浏览模块(2天)main
             实现主界面和类别浏览功能
        3)购物车模块(1.5天)cart
             实现购买、变更数量、删除等功能
        4)生成订单模块(1.5天)order
             订单确认、填写送货地址、生成订单功能
    3.技术应用
       1)技术架构
            Struts2,JDBC(连接池),jQuery,Ajax
       2)设计思想
           MVC和分层设计思想
           a.显示层:JSP组件(jQuery,Ajax)
           b.控制层:Struts2控制器组件、Action组件
           c.业务层:Bean组件
           d.数据访问层:DAO组件(JDBC)

    4.数据库设计
        1)数据库导入
             create database dangdang;      //创建库
             use dangdang;       //进入dangdang库
             set names utf8;    //设置连接和发送SQL编码
             source 路径/dangdang.sql; //导入sql文件
        2)数据表功能
             a.d_user(用户信息表)
                存储了用户信息,涉及登录和注册功能
             b.d_receive_address(收货地址信息表)
                存储了收货地址信息,涉及填写送货地址功能
             c.d_category(类别信息表)
                 存储了图书的类别信息,涉及主界面左侧类别菜单功能
             d.d_book(图书信息表)
                 存储了图书的特有信息,涉及产品浏览等功能
             e.d_product(产品信息表)
                 存储了各类型产品的共通信息字段。
             f.d_category_product(类别和产品对应关系表)
                 存储了类别和产品之间包含关系,涉及产品浏览功能
             g. d_order(订单信息表)
                 存储了订单信息,涉及创建订单功能
             h. d_item(订单明细表)
                 存储了订单中所购买的商品信息,涉及创建订单功能。

    5. 搭建工程结构
        1)引入需要的开发包
              struts2开发包
              jdbc开发包
              dbcp连接池开发包
        2)src文件结构
             org.tarena.dang.action  :控制层
             org.tarena.dang.action.user :用户模块的action
             org.tarena.dang.action.main  :产品浏览的action
             org.tarena.dang.action.order :订单的action
             org.tarena.dang.action.cart :购物车的action
             org.tarena.dang.service :业务层
             org.tarena.dang.dao :数据访问层
             org.tarena.dang.entity :实体类
             org.tarena.dang.util :工具类
             org.tarena.dang.interceptor :拦截器
        3)struts配置文件结构
             web.xml(配置Filter控制器)
             struts.xml (struts主配置文件)
             struts-user.xml(用户模块配置文件)
             struts-main.xml(浏览模块配置文件)
             struts-order.xml(订单模块配置文件)
             struts-cart.xml(购物车模块配置文件)

        4)WebRoot文件结构
             /user/* :用户管理的JSP
             /cart/* :购物车的JSP
             /order/* :订单的JSP
             /main/* :产品浏览的JSP
             /common/* :页眉、页脚等共同JSP
             /js/*      : 放置js脚本文件
             /css/* :放置css样式文件
             /images/* :放置页面图片文件
             /productImages/* :放置产品图片

    -----------------连接池的优点-----------------
    a.可以管理Connection对象,并且将Connection数量控制在一个安全范围内。提高数据库的访问安全性。
    b.连接池中的Connection对象与数据库保持连接状态,避免频繁的建立和销毁连接。

    ============用户管理模块==============
    1.注册需求
       1)表单验证(采用js+Ajax)
             邮箱:非空、格式、唯一性(ajax)
             昵称:非空、格式
             密码:非空、格式
             确认密码:非空、与密码一致
             验证码:非空、正确性(ajax)

       2)将表单信息写入数据表d_user
             编写实体类、DAO、Action
       3)给用户邮箱发送验证码
             引入commons-email.jar,email.jar
             参考EmailUtil工具类代码
       4)进入邮箱验证页面verify_form.jsp

    2.邮箱验证
       1)表单验证
           验证码:非空、正确性(ajax)
          正确后跳转到成功提示界面:window.location = "register_ok.jsp";
       2)Action逻辑
          a.利用验证码去d_user检查
          b.如果正确,将d_user的is_email_verify字段更新成Y;不正确在verify_form.jsp提示“验证失败”
          c.跳转到register_ok.jsp
    3.用户登录
        1)表单验证
             邮箱:非空、格式
             密码:非空
        2)Action逻辑
          a.检测Email和密码是否正确,失败回到login_form.jsp提示
          b.检测is_email_verify邮箱是否通过验证,未通过进入verify_form.jsp
          c.更新最后一次登录时间last_login_time和IP地址last_login_ip。
          d.将用户信息放入session。
          e.都正确进入/main/main.jsp
    4.main.jsp页面的页眉部分,显示用户是否登录的状态
       如果用户已登录,显示"欢迎XXX,【登出】"
       如果用户未登录,显示"【登录】【注册】"

    数据库 模型 

    首页展示:


  • 相关阅读:
    还不知道spring的RestTemplate的妙用吗
    【学习笔记】机器学习之特征工程
    《饥饿的盛世》总结
    我是如何解决java.security.cert.CertPathValidatorException异常的
    《机器学习
    2018年总结
    元类实现ORM
    元类
    python中的装饰器
    python中的闭包
  • 原文地址:https://www.cnblogs.com/langlove/p/3722605.html
Copyright © 2011-2022 走看看