该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”
4 q- o8 t6 W) ^& o1 t7 k代码案例:
7 }8 v; W2 e5 l- s* e- package com.cjg.servlet;
7 C2 a$ h7 h5 U( s# q
$ ]( H9 B+ d1 s+ P- import java.util.ArrayList;+ }" `- A# Q* P/ X7 h& ?3 ?
- import java.util.Iterator;! F9 I/ I2 q e' f
; q2 I, n- ~) X+ Y& j1 K9 z- public class ShoppingCart {
7 W8 C& Z, e5 \& u" U - /**
|/ N; B) {* z: b - * 保存所有CartItem对象的容器对象。% b; ]% ~- G% W2 S- m: H
- */7 y! W; d. n ~% `$ y
- private ArrayList<CartItem> cart;" u8 c8 `4 r: F% L% t6 f
- - U( m, a/ B0 y3 n, x
- public ShoppingCart() {
, u7 X, s9 Y; Q. ^% j+ g6 Q0 h - cart = new ArrayList<CartItem>();& M! [0 ?# ^2 D$ r* Q
- }+ @, }/ ~. L6 ` o1 ~8 d2 H
- - ]5 ]7 S- d# M1 Y- ~
- /**
. F/ o7 x3 [; b1 I8 B4 [9 Z- k - * 返回包括所有已经购物的商品信息的容器对象。
8 o, k+ u3 i. | f' X/ k, Q - * @return 当前的items容器对象6 C( V# M5 ]3 O/ r$ C$ B. X
- */5 s) P+ j& }; S4 m
- public ArrayList<CartItem> getCart() {
6 D/ ] [5 ]$ [$ X# |5 ` ] - return cart;
; }' l- B# b% [. [5 e8 Q - }
) {3 j* M/ a* _ u( B - - J, r+ n; J" \; u' x% V7 ~
- /**
: y ~4 x5 ~0 {/ ~6 B' ~ - * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,5 Z, f& n# s5 j. r' s; d5 R: D
- * 那就修改已有的商品的数量,
. n+ g9 C" c0 a" k. i& ] - * 反之,构造一个新的CartItem对象添加到items对象中。- M7 N" C1 p' C) t# v9 J8 F
- * @param item 新增的代表这种商品的对象- ~3 o7 l! s" ~1 ^
- */
! i( h" j, r& B9 c/ `8 W: d( x - public void addCartItem(CartItem item) {
, c2 o( T* y* K% X, n4 M - CartItem oldItem = null;
* E! \' p7 P8 a7 V, s1 h% e' [1 F - if (item != null) {* Z, d. a8 c0 z" w
- for (int i = 0; i < cart.size(); i++) {+ N/ ]: t6 [; i6 }
- oldItem = cart.get(i);
5 Z8 D+ h+ A1 S" b6 S, p3 S - if (oldItem.getId().equals(item.getId())) {; |8 `& {8 ` V* |! f4 U. R$ m
- oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity()); \# k7 c, J. X' \. g5 d) ~ f+ ]
- return;& E& q. Z# l# C+ h; |& S3 m% ~
- }
$ y9 T* S: T1 ^# u9 ?) n& K - }) z( @7 m2 t1 D2 H+ A
- cart.add(item);
) C9 A' D7 a9 I( u5 @9 m6 k - }
* ?; Q% _5 \! W$ x* ?& W- i - }( H, b( k8 q% Y; b& n% i4 F
+ a" W/ N# d) P; x, ?. t2 K- /** W: V5 L( t3 }: y6 b4 e5 ?
- * 从购物车中,删除商品。& T. U" S& ?0 {0 S6 n( G/ A0 Z' T
- * @param id 所删除商品的商品编号# x; E6 _2 m5 u: |* P0 l
- * @return 删除成功,返回true,反之返回false
3 L$ \1 E* F F5 y - */
0 Z9 R9 I% g- F9 X - public boolean removeCartItem(String id) {* b0 ` a2 M# m0 z9 A$ k J
- CartItem item = null;% B# i) F+ t+ b& z8 N9 h, ^
- for (int i = 0; i < cart.size(); i++) {* V, I$ Q, G5 M1 y1 o
- item = cart.get(i);& S B, c) P" y g
- if (item.getId().equals(id)) {
8 D: _5 s/ b1 E* w7 r - cart.remove(i);; V; \0 Q) W5 @1 d1 k& Y
- return true;
+ X; A) @2 f6 r' R% I; X - }
+ h+ r& T) R0 K - }% [2 j( G' b1 p# h6 ] ?$ q& m" G: R2 L& q
- return false;3 }' D- R) K: v0 a
- }
`) L( B/ T6 g6 g* V3 G1 n9 v
F3 p1 I4 L' m2 R, E- /**
" ^" i& n6 Y+ p1 r2 J - * 计算所购所有商品的总价。9 x" s# g* n7 m0 s8 v. R
- * @return 商品的总价
6 ]( Y- {6 O3 g! s - */8 K% y) [, ^8 s2 [
- public double getTotal() {# }+ x) P% \6 z- @( j9 K+ m
- Iterator<CartItem> it = cart.iterator();! ~1 G/ R% p8 M: r+ D
- double sum = 0.0;/ r3 w- ~3 |. U3 n1 j
- CartItem item = null;6 B+ N8 y% A. v# r- j% W3 ~
- while (it.hasNext()) {
+ s; O% u/ ]% d1 J; m! s+ k3 n/ A - item = it.next();! x1 L$ {! J I+ V: Z9 S
- sum = sum + item.getSum();) j1 j2 D$ ]2 ?
- }: u$ X7 r4 f0 t ]" l% k6 j
- return sum;6 F6 d) I: B8 ?& v) Z
- }* K' c3 ~8 }/ }' c; }
- }
复制代码 资料下载地址:点击下载( v8 d9 I3 o7 k" F
: x! T, J; r5 w4 ], {1 V9 F$ h Y/ t6 f1 W4 G7 }( ~
|
|