科帮网

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 项目源码 > 达内当当网全套源码测试通过带邮箱验证功能
总共48087条微博

动态微博

查看: 15643|回复: 40

达内当当网全套源码测试通过带邮箱验证功能

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    #
    发表于 2014-03-17 20:45:44 |只看该作者 |正序浏览
    1.项目介绍' @8 f/ l$ J& l  M, |8 ^0 @* s
       典型电子商务系统(在线购物平台)。模拟了当当系统部分功能。
    6 X6 m. ]( }) B8 v* Z2 Z2.功能需求! o1 S  }4 X$ K7 C- U$ r
        1)用户管理模块(3天)user
    3 h3 Q# u. V5 @7 p+ ]         实现登录、注册功能4 f5 [9 a7 y/ l
        2)产品浏览模块(2天)main: M# V* c9 p! X0 y. {
             实现主界面和类别浏览功能
    . \( i4 x* y! u( U& m    3)购物车模块(1.5天)cart$ M$ [. V. f. X( B  ^: t
             实现购买、变更数量、删除等功能
    * R7 ^3 N; q$ x! x, A% x, a    4)生成订单模块(1.5天)order5 m: F1 w6 K% U* C* s( g
             订单确认、填写送货地址、生成订单功能/ s5 j9 c5 q+ b' {3 n
    3.技术应用
    : K7 J# `+ h8 E  @% m   1)技术架构- ^2 C" S" i& ^  F
            struts2,JDBC(连接池),jQuery,Ajax
    ) K* Y5 ^  b( Y+ o   2)设计思想
    * b3 q* G0 F% ^0 {; z       MVC和分层设计思想
    . u" N- W/ {7 P( j( u       a.显示层:JSP组件(jQuery,Ajax)- L+ o8 D1 }- r
           b.控制层:Struts2控制器组件、Action组件. A7 N8 q* ]9 V2 {" t2 g- F/ S
           c.业务层:Bean组件
    # N. [2 l* |# _/ v4 u6 e       d.数据访问层:DAO组件(JDBC)
    & E; j8 |- D* y
    & e! g' `; R8 G! X4.数据库设计7 F9 y3 z! @. E) E: X. L
        1)数据库导入! s, v, r7 u& i; w
             create database dangdang;      //创建库: |: J% ]1 @0 b) F0 i5 p% z/ C( e7 g
             use dangdang;       //进入dangdang库
    5 T# I4 S' O6 b! T6 G         set names utf8;    //设置连接和发送SQL编码
    , o# s$ i' U8 x. Y8 d# W0 v0 A7 W         source 路径/dangdang.sql; //导入sql文件
    ) O4 U# o2 a7 r1 E# J2 V    2)数据表功能
    ! n6 t5 }1 J1 F0 ]1 g/ X$ H' m. n; v         a.d_user(用户信息表)
    / O  w& t: q% o" T            存储了用户信息,涉及登录和注册功能
    . X6 E' `6 B( {8 ]+ a         b.d_receive_address(收货地址信息表)
    ' P' a5 {1 C- a" {: A7 F" O            存储了收货地址信息,涉及填写送货地址功能9 n/ n9 ^$ `# K) z8 n6 w' f" _4 y
             c.d_category(类别信息表)
    " l$ r  @; G7 u             存储了图书的类别信息,涉及主界面左侧类别菜单功能: I# {  g4 Y3 U% A7 ~2 J  K
             d.d_book(图书信息表)* f, t% T! q+ x
                 存储了图书的特有信息,涉及产品浏览等功能. O3 x4 K$ z- n9 W5 c* D3 @" j
             e.d_product(产品信息表)
    6 ?0 u8 m9 Q8 g1 T+ f             存储了各类型产品的共通信息字段。+ W2 I0 C) j, v$ j
             f.d_category_product(类别和产品对应关系表)
    6 x6 y! T( p- O5 k             存储了类别和产品之间包含关系,涉及产品浏览功能
    : s  `6 |0 }  n/ B         g. d_order(订单信息表)
    ! Y8 P7 a: a' K" n( D! W0 {             存储了订单信息,涉及创建订单功能, u% Z* p1 L# T- J' v
             h. d_item(订单明细表)# b0 }6 D# M3 q5 [, S/ {& d4 J' ^
                 存储了订单中所购买的商品信息,涉及创建订单功能。
    / h, n: W! h9 f* A
    ( W7 U' J& O' C, X1 T* L) u5. 搭建工程结构$ b; `$ y5 [- y( U' q  Z4 i
        1)引入需要的开发包: p/ }6 n, j4 e  Y$ v
              struts2开发包- U3 O1 _* f* g& j  \
              jdbc开发包+ ~0 D, t, O' k9 i. e$ x% Y4 Q; p
              dbcp连接池开发包
      |* C% ?- A) F- }5 f    2)src文件结构
    + a! Z( a$ W9 P: f, ?  B8 S         org.tarena.dang.action  :控制层% a& F' B6 d) W# _
             org.tarena.dang.action.user :用户模块的action/ E+ P* f; M# v5 ~
             org.tarena.dang.action.main  :产品浏览的action
      F' C( i+ D% b* [* d# [& p         org.tarena.dang.action.order :订单的action
    1 E" G- b* S( `) ?7 C7 s& ?, Y. B         org.tarena.dang.action.cart :购物车的action
    # {  u5 |3 ?. }4 o2 z         org.tarena.dang.service :业务层2 s5 L1 n9 y8 D
             org.tarena.dang.dao :数据访问层
    / m" z- p8 ~) D) C" b         org.tarena.dang.entity :实体类
    / P3 e) ~3 k) ^2 c         org.tarena.dang.util :工具类$ B) d! b/ d( y
             org.tarena.dang.interceptor :拦截器
    ! F1 I+ S7 |8 b/ h) o; j* f) V    3)struts配置文件结构* w% H) \1 Z9 n. w
             web.xml(配置Filter控制器)
    ; W1 d' I/ \& w" T+ T" `& Q+ _         struts.xml (struts主配置文件)  V) j. p) n5 @) [. o" y& `
             struts-user.xml(用户模块配置文件)
    ( O. ]  N) e' r" a- P5 J         struts-main.xml(浏览模块配置文件)
    . Y. {% ?5 y1 ^: c         struts-order.xml(订单模块配置文件)7 J" u5 F7 V2 I4 X, m+ g- W
             struts-cart.xml(购物车模块配置文件)
    ( o8 T4 S, v$ I' p; J: A& A/ c( s* T( o- @  V. l$ Y( x& R! ~
        4)WebRoot文件结构  p' F8 K; f1 m: n  D
             /user/* :用户管理的JSP
    , U6 X3 Z' h  ~% j         /cart/* :购物车的JSP
    : x- |/ I* T7 o) Z: r2 N         /order/* :订单的JSP7 I2 Z( ]$ a' {' }: N
             /main/* :产品浏览的JSP
    $ `4 ]6 s4 W( Q4 Y  r: J         /common/* :页眉、页脚等共同JSP4 e- }1 m2 j* A6 @3 d# l
             /js/*      : 放置js脚本文件; _% J, \( x+ h( l. x5 F& c
             /css/* :放置css样式文件- d# F3 Z( V8 T: Z6 r( [
             /images/* :放置页面图片文件: q6 t% n! @* S5 O4 ]8 p
             /productImages/* :放置产品图片  @" ?- R- t* U

    ( g. `8 K5 n  E; ~-----------------连接池的优点-----------------
    & [1 L! ^# r0 I1 B  Fa.可以管理Connection对象,并且将Connection数量控制在一个安全范围内。提高数据库的访问安全性。; P. X! B- G2 Z* p+ B
    b.连接池中的Connection对象与数据库保持连接状态,避免频繁的建立和销毁连接。( j$ W8 l+ F5 Q, ~$ \  W

    - T4 [' o/ D6 J============用户管理模块==============
    # F3 g; b$ R- C) O/ {3 A$ k1.注册需求
    : T; n8 f0 U* [4 B4 J   1)表单验证(采用js+Ajax)
    " \3 {2 W" V8 n  z6 U/ j+ _6 I         邮箱:非空、格式、唯一性(ajax)
    # G$ t6 S& p, b2 Y& o         昵称:非空、格式
    ; S6 L/ y: Z+ w' M  T8 o0 X" Z         密码:非空、格式
    8 G  q& J: i5 l4 q; T( l# W% p  d; i         确认密码:非空、与密码一致
    : G9 o4 g( P8 u; z* W2 z         验证码:非空、正确性(ajax)" h8 P7 I% i) x4 I
    - {" C1 p- }' \6 [/ E$ ^6 G
       2)将表单信息写入数据表d_user  [" J7 b0 F. H% T
             编写实体类、DAO、Action
    ! u/ X) X* ]" u: r2 O' R" L, v7 p" C* Q   3)给用户邮箱发送验证码' E# E8 C( I2 v6 F
             引入commons-email.jar,email.jar
    + E' S; G3 u. L+ e4 [         参考EmailUtil工具类代码
    & F* A$ A& _, c   4)进入邮箱验证页面verify_form.jsp
    2 G  X+ U1 [, M% ^# a/ L6 }" u: U* G- J# y
    2.邮箱验证
    / k/ D. S+ R/ i+ D% G8 F   1)表单验证
    : j: h- N  m) c; S+ ]& B( g       验证码:非空、正确性(ajax)
    ) }8 A' x$ [$ J2 O6 _2 ?' N) I7 G- x      正确后跳转到成功提示界面:window.location = "register_ok.jsp";
    3 R( v9 p/ V9 T$ g   2)Action逻辑
    ( X. F1 L; b/ ]' M3 f/ `0 c      a.利用验证码去d_user检查8 \% u/ C( ~% S' \0 b: I" ?0 W
          b.如果正确,将d_user的is_email_verify字段更新成Y;不正确在verify_form.jsp提示“验证失败”
    1 u& I5 T  |" \. a4 f9 Q, c      c.跳转到register_ok.jsp
    , N, t) L1 t' `9 N$ v: h/ r0 N8 D3.用户登录
      Q% H, k. V, h& u* }4 `    1)表单验证% ^0 a; S" x: S! G
             邮箱:非空、格式
    ; H0 \! ~( u( i2 m         密码:非空
    ( N7 D8 v: F' H  i4 d: z0 D    2)Action逻辑
    : _) g) `8 }9 n- k7 ]9 I9 s      a.检测Email和密码是否正确,失败回到login_form.jsp提示
    8 v& t* i- z$ `      b.检测is_email_verify邮箱是否通过验证,未通过进入verify_form.jsp
    ) z) t/ L) F* ]& @; e2 C4 l      c.更新最后一次登录时间last_login_time和IP地址last_login_ip。+ d) A: z$ d. @( z; k# \$ m% v
          d.将用户信息放入session。, A) N- e* v7 z4 y* a5 Q" C. \+ n
          e.都正确进入/main/main.jsp1 B' a" l( p1 `/ ]
    4.main.jsp页面的页眉部分,显示用户是否登录的状态
    , G, J% R' N6 g   如果用户已登录,显示"欢迎XXX,【登出】"
    ! L( W, e9 n# K% z   如果用户未登录,显示"【登录】【注册】"% H2 O5 d# T$ D5 Y. y

    $ e, o5 Y: d4 d$ r7 s数据库 模型
    6 N1 S( h8 }" ?: d
    ' u1 }5 A: T9 j, l2 {; g+ {2 v8 e; u" z
    效果演示图:
    - E6 {% @% X& j5 J首页演示图:
    + z$ x( m, ~' p$ s
    + L8 k2 J8 X9 O' {5 b! s- K3 a8 D
    # _3 K9 |3 E& V$ ?  C: L注册页面:
    . u) Q/ U* l) M
    4 W* \: a! g6 k( c8 W7 {邮箱验证页面:% N& @3 t6 A+ {1 \& y7 n% p% o6 t

    4 O) ^& `; B1 C9 e( k验证成功:
    9 k0 Y3 M7 F5 |' P' a4 y5 U2 A . p3 `/ s6 i' D
    用户在线状态:
    9 O/ \2 t. ]5 [7 X* h ; y- |$ A; K# m! T
    用户可以购物了:
    - S: z% Z- y' J  ^6 ]% g 3 Z  B. `% X# f$ ~

    ( s( T8 Z" ~. `! I- @源码下载地址:点击下载, y4 k/ Y1 v" v/ G5 }( ^

    % k, ?; X7 w# M  e: s

    - K9 U( [$ }: t$ z" p数据库下载地址:点击下载
    ' ~: P4 Z# i$ Z8 s$ [0 X% P; n+ l* P* c( {

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    3

    主题

    0

    听众

    119

    金钱

    三袋弟子

    该用户从未签到

    40#
    发表于 2017-10-18 15:15:35 |只看该作者
    谢谢柔柔弱弱若v
    回复

    使用道具 举报

    26

    主题

    0

    听众

    644

    金钱

    四袋长老

    该用户从未签到

    39#
    发表于 2016-12-22 14:47:40 |只看该作者
    顶个贴,做个标记,感谢楼主
    回复

    使用道具 举报

    46

    主题

    1

    听众

    584

    金钱

    三袋弟子

    该用户从未签到

    80后

    38#
    发表于 2016-10-30 11:02:39 |只看该作者
    达内当当网全套源码测试通过带邮箱验证功能 [复制链接]
    回复

    使用道具 举报

    41

    主题

    0

    听众

    655

    金钱

    四袋长老

    该用户从未签到

    90后

    37#
    发表于 2016-10-25 18:53:37 |只看该作者
    再次感谢楼主!!!!!!!!!!!!!
    回复

    使用道具 举报

    41

    主题

    0

    听众

    655

    金钱

    四袋长老

    该用户从未签到

    90后

    36#
    发表于 2016-10-25 18:53:21 |只看该作者
    然后继续给我们分享福利!!!!!!
    回复

    使用道具 举报

    41

    主题

    0

    听众

    655

    金钱

    四袋长老

    该用户从未签到

    90后

    35#
    发表于 2016-10-25 18:52:57 |只看该作者
    祝愿,楼主身体健康,万事如意
    回复

    使用道具 举报

    41

    主题

    0

    听众

    655

    金钱

    四袋长老

    该用户从未签到

    90后

    34#
    发表于 2016-10-25 18:52:25 |只看该作者
    谢谢,楼主的分享....................
    回复

    使用道具 举报

    41

    主题

    0

    听众

    655

    金钱

    四袋长老

    该用户从未签到

    90后

    33#
    发表于 2016-10-25 18:51:53 |只看该作者
    让他们也都过来研究研究
    回复

    使用道具 举报

    41

    主题

    0

    听众

    655

    金钱

    四袋长老

    该用户从未签到

    90后

    32#
    发表于 2016-10-25 18:51:41 |只看该作者
    等同学们有空了,和他们说一下
    回复

    使用道具 举报

    41

    主题

    0

    听众

    655

    金钱

    四袋长老

    该用户从未签到

    90后

    31#
    发表于 2016-10-25 18:51:18 |只看该作者
    简直是要去膜拜的节奏了
    回复

    使用道具 举报

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表