|
该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”( @) d6 v' o7 Y& o
代码案例:
7 P3 c4 \3 M3 q( r# [7 O8 ]3 x, ~- package com.cjg.servlet;6 Z" X: z% ^& |1 C: o# E8 U* F" f) F
- 7 v- u& e; E B8 z6 }
- import java.util.ArrayList;) {4 V3 w1 b0 ?, n0 C( \) \5 ~! z
- import java.util.Iterator;7 @& {' J% E2 |* A1 A$ a& {
% w+ O4 L& N6 J) u; X: A- public class ShoppingCart {
1 ~/ R! E0 B6 j4 d, D - /**
* T- W* i! v8 _! f$ D9 q' M9 N - * 保存所有CartItem对象的容器对象。
1 i; w( v1 y* X - */ m h5 A8 D/ Y* b$ B8 t5 _& U
- private ArrayList<CartItem> cart;8 {9 i. R% A" H4 e6 M" @8 Q
$ M0 d N: [* h- public ShoppingCart() {8 j7 X7 }7 |0 c" N' c; j# ]
- cart = new ArrayList<CartItem>();
6 K) ^! D1 I+ x% ^8 i0 O - }. [5 C" J0 b! _: ]" ^3 Z# A
- 8 D, _" I# Q% ?4 c0 T. _
- /**, I$ X# y" `- K# D1 k. g S
- * 返回包括所有已经购物的商品信息的容器对象。
- h5 [3 @9 |7 x' k D/ v( @9 X - * @return 当前的items容器对象
, A5 o/ \, y/ t8 Y- t; Y - */) S8 J) U2 `. m/ [2 R3 }$ B
- public ArrayList<CartItem> getCart() {+ z: n7 q) @5 M5 `
- return cart;* l6 G3 }* ?- @( X
- }& r+ f! h; L" u( [" K
- ( a" {* |* O7 M( _# L
- /**6 ?# G; v; X( J' d0 H* }
- * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,
% B1 z% l% ^/ h - * 那就修改已有的商品的数量,% T3 |, h2 q8 m4 ]4 f
- * 反之,构造一个新的CartItem对象添加到items对象中。& v0 a" @0 p+ Q: N
- * @param item 新增的代表这种商品的对象6 ~3 r$ K3 c1 ~, b
- */
6 [8 E1 `% T5 O3 S - public void addCartItem(CartItem item) {
7 Q- L0 y7 w. l - CartItem oldItem = null;
) r. o- h8 }; t" d/ g; [! D - if (item != null) {
* f" y0 T. s! m+ g/ k - for (int i = 0; i < cart.size(); i++) {
* u9 \ L: [# i1 n7 q6 \. H3 z - oldItem = cart.get(i);
. h: O! \* o% l4 S3 L8 Q1 H - if (oldItem.getId().equals(item.getId())) {9 |) \# \- R. o, r2 B! J, M7 x; z
- oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());6 d; e* E, k. r( d* x4 o
- return;
0 I3 l% ]7 O, n) y, R - }
$ T6 v3 U' `# _! ~ - }, R( V. u! F6 L+ M9 F2 @ K
- cart.add(item);. M8 u3 K! [7 {4 x4 } m9 @9 W. W
- }( h" h" o n- f
- }- ~& Q, a. [" u% H3 @
1 z# Y5 I. D8 W1 W7 x% n( t- /**& | t7 s8 o0 l- I! a* R( y, k
- * 从购物车中,删除商品。# c1 m) R9 b3 h3 S+ I
- * @param id 所删除商品的商品编号2 X( {/ _. ~ y8 B9 G; X; F) w
- * @return 删除成功,返回true,反之返回false
6 x( g# R- u- y5 O" d - */
2 _* S9 B U* [" k3 ~4 o - public boolean removeCartItem(String id) {& o* m: W1 y# e' ?8 s
- CartItem item = null;/ e' Q5 ]: k# {1 L# Q+ `
- for (int i = 0; i < cart.size(); i++) {9 j0 A, c9 C, {2 N
- item = cart.get(i);
# _+ @2 ]- N- g5 f' v; w$ ? - if (item.getId().equals(id)) {, V7 ~- p- Y) l& J1 @1 x5 \
- cart.remove(i);
8 }5 G6 Y9 Y3 j. z) Q2 Y- \ - return true;
2 R* D2 z# K: C1 Z9 J - }
3 P4 Q, H& W- ?. d- o+ ? - }
6 V: D- p2 T9 U, R - return false;
; F3 u# C& g4 [1 j - }
$ E t, n3 V. l2 m4 u2 S/ n$ E
8 ]3 f) A( G4 Z+ } [. S7 E5 u- /**8 {# m. v# i g$ S3 G, B" J
- * 计算所购所有商品的总价。
) Q/ `0 a2 \: [$ x7 K - * @return 商品的总价; Y+ \; d! y, w7 {" y, }
- */
6 `: V# K8 R5 A N - public double getTotal() {+ q' u; E/ l6 O; f% P; T
- Iterator<CartItem> it = cart.iterator();' [5 y8 w+ {8 _2 U* A( k
- double sum = 0.0;
5 J. U: u# O5 M9 }" a - CartItem item = null;: U$ e }, m! u) u" K
- while (it.hasNext()) {
" ?; B9 u7 V7 E, c - item = it.next();# D, ?* d4 \1 T7 O7 g5 f
- sum = sum + item.getSum();0 F- z* p8 } @ b! W
- }
: R$ B8 _" b/ i3 l- A& F - return sum;% \' @/ S, m& q, G' V' D' }, y. B' p
- }$ k _: R. h8 p/ Z
- }
复制代码 资料下载地址:点击下载
% ]" C/ w1 ~9 g# B- G, r3 J* b" w( o2 g) |1 b6 j1 f0 S i# y
3 n. x* q* x' I" V! h- M |
|