该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”
( u/ P, T/ z& A0 B1 B代码案例:
6 i# o! V* z! o: E- package com.cjg.servlet;; ]+ @6 r, s# y
- - {$ X q2 T5 y; C% ]
- import java.util.ArrayList;
% R, Z8 _5 Y: G, |1 O - import java.util.Iterator;
) e# }! X* {# {
0 J6 V+ c/ _; d7 r1 H6 C- public class ShoppingCart {* Q, S* d) p0 I0 u0 ]( Q# H+ I. X) D& _
- /**
, D7 ?5 j9 e2 ` - * 保存所有CartItem对象的容器对象。
3 O: ~6 H2 e) C2 b, ?) h `6 g - */
; g6 T& t0 d/ L* e0 C - private ArrayList<CartItem> cart;
; X# V# h/ H# h - 2 ^) {, J( s, X* V8 g
- public ShoppingCart() {
1 ^1 J! g1 a0 P/ z! k - cart = new ArrayList<CartItem>();
( q8 q& f! K% [" E7 z% o# \ - }. \5 @$ @9 ]6 w1 N: U
- + B! l4 ?- n. F1 R
- /*** n( O1 O2 f. o. V. K) u
- * 返回包括所有已经购物的商品信息的容器对象。
, n2 C& r& b/ k' u - * @return 当前的items容器对象, Y$ `3 N, f& T! r$ D9 A' q
- */
) j$ M, v; w5 z+ U. F& F# v0 i5 k$ D' W - public ArrayList<CartItem> getCart() {7 x2 L! K- W6 H U Y* M8 t; L# u
- return cart;6 `" j; @' x6 I3 e- ^( [
- }8 U! y8 m" Y( Y2 n% R( Q$ `
- $ P$ r! G, c$ |! k2 r- c5 l
- /**2 z( E' c9 I1 x+ V5 z/ P9 O3 w; b
- * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,# V( p% q6 w& g7 |; \
- * 那就修改已有的商品的数量,) y. a/ B1 g5 b6 g
- * 反之,构造一个新的CartItem对象添加到items对象中。
3 Z' F# n2 R3 i, Z1 @5 J - * @param item 新增的代表这种商品的对象$ E/ F+ D; u" W- A; Z
- */
+ k; g5 r3 u4 @5 r7 ~7 X8 q5 M - public void addCartItem(CartItem item) {+ Q8 y7 F/ Y0 I/ z3 ^0 I
- CartItem oldItem = null;; v8 G5 c6 d2 R! R
- if (item != null) {
8 Z& n7 r7 N5 c( O" d - for (int i = 0; i < cart.size(); i++) {% H+ Q! n- _5 D3 h, d
- oldItem = cart.get(i);( z( b+ W1 [) ~
- if (oldItem.getId().equals(item.getId())) {3 b5 k1 w! \+ ^% b, q1 Y* b
- oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());. `: e; ~* V, d) T+ |7 c9 v+ ~8 o
- return;
' z: P% L; ^9 ^4 z' h5 e* f# M# o - }$ A+ n% `/ D) z% C& t0 j, _4 f9 @
- }
) Q3 x7 j% L4 @$ w& |& D - cart.add(item);8 ^- L' _4 l, d* f: `$ A: q
- } u# R! _: n" P2 i! r
- }
. [' w! m$ X7 v& q/ F" ^ - 8 B* D: Q1 G8 h7 T X& ]2 h0 O" X
- /**
% B1 T1 p" m) d0 T - * 从购物车中,删除商品。/ K/ T+ h& r# m
- * @param id 所删除商品的商品编号1 K7 r9 v) t7 B& U7 z Q
- * @return 删除成功,返回true,反之返回false
4 u" Z6 ~4 y8 N3 \" U+ Q - */& e4 l1 q Q& f. `7 R3 p
- public boolean removeCartItem(String id) {7 x9 U8 f; k; d6 }, @. l7 z, p8 ?
- CartItem item = null;' a5 `* p' b; J* f6 ?
- for (int i = 0; i < cart.size(); i++) {
) u5 y+ z2 e) o1 E* S: p0 ~ - item = cart.get(i);
* b' `: _& _- Y( o: B! q# X, { - if (item.getId().equals(id)) {* q2 I: u+ w" o; [1 H) h
- cart.remove(i);
( P! g* ^& ], t+ b' g - return true;
+ D- @5 }! R4 ]9 Z - }# L C) ]! {1 i3 S
- } t1 S( \1 T) y' {; {6 i* |) [
- return false;
3 f8 U. E4 K1 t5 ]1 f! Y - }3 q$ }9 ~4 C1 p+ E. n% s( n5 T5 t
- ' G. d8 p$ S: t8 \7 s8 k
- /**
7 n, e9 p1 M3 v3 o - * 计算所购所有商品的总价。
8 p( V [. o& X7 w0 z! I( i7 A9 p - * @return 商品的总价% z: c3 _" O! S; o s
- */
- z! X8 C) |' X6 h; P' f - public double getTotal() {
+ B$ U: w9 h5 s - Iterator<CartItem> it = cart.iterator();
3 w7 A% W, V$ R z2 ^( K |% s - double sum = 0.0;7 H- P3 r! i1 _' h# }( O! z4 j
- CartItem item = null;: X2 p1 }7 C5 S5 L
- while (it.hasNext()) {
) k" P! S l" j2 \ - item = it.next();
; _/ `% q8 B2 l& K" z - sum = sum + item.getSum();
- K/ h4 Y: E7 v& z+ ? - }
" y- {/ q" @1 d4 v - return sum;
5 j7 d5 ~: x' s+ ~7 ~# U - }5 M* O- ^9 E( n- Z* u9 p
- }
复制代码 资料下载地址:点击下载- B7 b6 H$ p3 S# N
) J! C) M) M0 J% _, t# M8 u: T: t1 |9 _8 G- \4 ?) \5 f0 U z
|
|