该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”
9 F1 a }$ w% W1 D' ]8 r代码案例:# l' r+ M$ n1 a+ I. ?% F- P+ ^
- package com.cjg.servlet;
! G, }, Q. S Y. k - : ` ?1 o9 B) l7 \+ B7 B
- import java.util.ArrayList;
) G* ~* r" h8 D, j! o/ e - import java.util.Iterator;
. b, J# x2 l- h% L* S
; X/ P8 ]( d$ W. |- public class ShoppingCart {
& L: L* {& U, J6 K - /**
& a) G8 Z% \# Q+ l( {2 {! | - * 保存所有CartItem对象的容器对象。; s1 t" N& a2 o1 ]5 l; r
- */
+ T7 j! |/ E L* a! {. j - private ArrayList<CartItem> cart;& O( \7 i9 F% r2 ~6 l/ t
- . f- k1 s D, O3 N
- public ShoppingCart() {
! N' ]) j8 |/ v/ Z; N' I4 O ^) C - cart = new ArrayList<CartItem>();% ^7 F( M! d3 [
- }0 a6 D# z) x& I" v( m
$ d0 A" Q4 T; H4 I- /**1 X; f2 f2 m( H" b( Q; E: g- \
- * 返回包括所有已经购物的商品信息的容器对象。
+ {! e: l6 ]% {9 ?+ b% } - * @return 当前的items容器对象( z/ P" M4 [- l5 u: g
- */
/ M |3 x% { l' e- M+ e _6 @ - public ArrayList<CartItem> getCart() {9 R; I+ i- s/ S, d) m1 V
- return cart;
) z7 h. F+ R& u - }
& C5 ]2 B1 g7 S. P: \- X- F5 q
5 G: S+ a1 T5 ^0 F- /**
4 T% U) O1 C5 q. h1 [ - * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,
7 K6 a ~. J# J l - * 那就修改已有的商品的数量,
; ^% X S& }+ Z# o+ u/ `9 ] - * 反之,构造一个新的CartItem对象添加到items对象中。
2 w" I5 w# A0 p" q7 X - * @param item 新增的代表这种商品的对象
; ~" X0 T5 b! e$ Q( e% \) G - */9 }' D1 G# A/ K V
- public void addCartItem(CartItem item) {
# u5 }) H; V( j3 N* X0 { - CartItem oldItem = null; s: Q, o5 b3 U( P4 Q
- if (item != null) {0 g# E: {# L$ h `1 M, W& r: }; u
- for (int i = 0; i < cart.size(); i++) {+ g! p' U( f+ h2 _" s
- oldItem = cart.get(i);0 y0 T P6 ^% ~, R3 t+ S7 v
- if (oldItem.getId().equals(item.getId())) {; M( E# E& t" E ]& ~6 Z4 y
- oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());
, p+ e# N& D- d - return;
$ ]) Z' n3 P0 |9 x% W& @% a - }
0 l* C9 C6 R; z. `. C - }
7 {2 l. |3 s8 i4 d5 Y& t( d# G - cart.add(item);& R" K* w3 [: W7 p5 u# O3 L4 h
- }+ |4 K0 t1 Y" \( C. f+ D
- }/ l' X! B* C6 O$ L# O. w+ O
- ! L) N/ N4 K/ _3 U
- /**& y7 h, |' T+ y" w
- * 从购物车中,删除商品。
( x; [% r' j6 u8 `. _6 y/ R6 q - * @param id 所删除商品的商品编号
) B4 K+ N! i1 M - * @return 删除成功,返回true,反之返回false
( L2 K1 s$ V$ m( b8 J/ S - */
2 a8 J) r! e0 |% z+ u4 M6 G - public boolean removeCartItem(String id) {9 Q/ ^! Y% N- D K
- CartItem item = null;2 n9 ^" Q* v, t9 Q7 l+ P
- for (int i = 0; i < cart.size(); i++) {; ~" l. q1 h' n3 d# _0 v
- item = cart.get(i);' t8 w: i: {2 ?% ?' ?- n E
- if (item.getId().equals(id)) {
' o1 i _/ H8 R I; p8 D/ t - cart.remove(i);7 E) z; I/ ]0 m; E5 V
- return true;
% [/ O/ ~( y/ `% Y - }5 B: q9 F4 k" {( i
- }) m, m* c; a* l
- return false;
8 |/ d" Y: e5 a# z - }" m$ S$ T/ G: n9 C) A- ]) z
- ! ?( n% k% x; `& O- t
- /**7 w/ u. A- n8 {
- * 计算所购所有商品的总价。
, e3 [9 ]0 A7 g. X! X1 k2 Q) b - * @return 商品的总价
* }/ f7 A, g5 s3 C8 f, F' B g - */; h" [' S+ [7 A: v9 ^& \! I8 |
- public double getTotal() {8 X: p5 t# h! x) G! S6 ?
- Iterator<CartItem> it = cart.iterator();
, {4 A. V. Z( a& }9 M3 h" Z1 q3 T - double sum = 0.0;8 w, Y3 s4 [1 r; i
- CartItem item = null;3 W {0 ^* a9 r2 g6 u" K; w
- while (it.hasNext()) {9 \9 A; Y- A @
- item = it.next();- k% Z2 u+ K6 Y) D# @1 E9 T+ E8 z
- sum = sum + item.getSum();
# y2 ^+ {' S. {6 b6 y2 c0 M* Y - }# u" q5 O; P! t) y- [8 m
- return sum;" v# E' J5 K4 J( r9 S+ \* g+ P
- }
4 @8 R4 k; L5 J - }
复制代码 资料下载地址:点击下载' K$ L! Z1 J& h8 F0 c
# i- _* J3 Z/ k, u
1 ]/ r6 }7 @# t. N( A# b" O
|
|