该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”: u4 ]2 W/ J- a0 D' o- J
代码案例:
- V7 W" t" c% _0 j% }' j$ B- package com.cjg.servlet;
! ]; l8 Z7 F2 p/ w
/ S% E& w7 P. f0 C- import java.util.ArrayList;
' k" \0 v* g8 X" ~/ v3 I8 f - import java.util.Iterator;
- K: ]6 l- O. i: w$ T: j - ( s+ N2 m4 C8 s: w6 N" W0 Y" T+ X
- public class ShoppingCart {
. i8 O, a( O0 R ~& |0 a - /**2 a9 U {% E' j" M
- * 保存所有CartItem对象的容器对象。
5 d6 S/ e* l3 r) V @ - */0 A& C' d; n% \: F3 U
- private ArrayList<CartItem> cart;+ N9 P: k4 p0 z) L
- T1 h h7 W0 V& `; t- public ShoppingCart() {3 I$ F6 d' c$ D3 j+ Z2 e/ U- Y8 n
- cart = new ArrayList<CartItem>();2 w) \, i& ~, A, B7 s
- }
, b% P) T5 f7 t+ w2 | - & \' K1 C( g8 a0 d' ]
- /**
" {/ R& J, v" k; V2 p/ r; { - * 返回包括所有已经购物的商品信息的容器对象。2 F+ l: g0 G+ W& M/ ]: [
- * @return 当前的items容器对象1 m* j: a, i* [# q$ ^0 X
- */; M- d- I1 V2 Z {' L
- public ArrayList<CartItem> getCart() {0 | ~5 R/ c7 e* R" p ]; F* b
- return cart;. K" v# t( m' o2 X. S
- }
' c; }' c6 E3 l0 ]9 u! i" L - 6 I$ J. F7 a. ]1 x @
- /**
9 m: }) ]1 W; B5 C$ l - * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,
9 p* y8 m4 r# Y2 w - * 那就修改已有的商品的数量,
1 G. o4 V; Z1 s# l5 u - * 反之,构造一个新的CartItem对象添加到items对象中。% x/ q! J* h& c U. C) W/ e4 }
- * @param item 新增的代表这种商品的对象# } ]& O4 ^; a1 l" O
- */2 H3 [- M9 k' y5 q* r
- public void addCartItem(CartItem item) {: z% o' l5 N4 m) c
- CartItem oldItem = null;
% o1 i2 Q9 A! ~: d+ s1 q/ V - if (item != null) {
& @' X7 ]. w8 Q+ U - for (int i = 0; i < cart.size(); i++) {+ r% ]4 J: e) s2 i1 q
- oldItem = cart.get(i);4 r) k% v" v3 P D: Y
- if (oldItem.getId().equals(item.getId())) {
' n* F9 F' e/ w - oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());
& e9 ]+ ]+ ]6 ? - return;
e$ R' ` K" K8 Z( o }6 j* S - }& K% ~% X3 q7 v9 T' }
- }: T9 J; b# x3 X; T6 s
- cart.add(item);
/ D+ p3 F0 [0 u) ]- I' T5 Y6 o - }
6 v. `% j! x/ c' `4 h - }
. ]4 e( A/ v3 U; b2 D5 e ^$ |
) o5 f g, X! R1 M" f- /**
9 Z) A( c5 h! K0 T- P3 g% E7 j# A - * 从购物车中,删除商品。
2 q0 E8 w& J9 i( X" W$ G - * @param id 所删除商品的商品编号3 f2 ?# _! ?( t) U) k
- * @return 删除成功,返回true,反之返回false
( P- f9 I* ?" q2 D, a6 {4 h9 Z - */
, s3 A, s, H% D( l9 p$ B - public boolean removeCartItem(String id) {) H3 W# c' r2 |/ \% X6 o a
- CartItem item = null;
0 @, h/ O$ q" X0 J - for (int i = 0; i < cart.size(); i++) {
' u/ H. @% @4 l9 q' o - item = cart.get(i);1 ?4 J3 S3 o0 z2 }9 t; ~' ?
- if (item.getId().equals(id)) {2 n4 E3 x; @6 ^' U$ A) r; s
- cart.remove(i);
# V# `+ A1 ], G3 x1 [$ E. E - return true;9 ]& o X0 [: x; A9 u R
- }
4 f6 v4 J* J. d/ j; Z" E w- k; e3 R' v - }% \' D5 }$ h7 `) t( S' `
- return false;
, O( _+ g: E* ]+ l8 b) v: U - }* e# ^3 s1 B5 Y0 g. E' Z! u- `4 s5 b
& r9 [0 E! l! H8 z2 X- /**
& I7 P# B$ B9 |8 B - * 计算所购所有商品的总价。3 Q$ G6 w3 U: P' e: W
- * @return 商品的总价
2 W& S0 Q, _& \# L& D5 ~/ L - */
; Z& `: }5 E" k6 }! z - public double getTotal() {
+ v7 L' R+ {# z - Iterator<CartItem> it = cart.iterator();
4 \- \& W4 F/ I3 o2 | - double sum = 0.0;
) C- V: Y( U# \! ]7 ~, ~/ J - CartItem item = null;
0 Y& d$ w( ]" A8 I3 I. y - while (it.hasNext()) {& x2 [& p8 h5 h4 a
- item = it.next();
9 J* K4 O n& |. Q- t - sum = sum + item.getSum();
7 |- {. B, o6 l1 V( ^6 B: I/ Y - }
3 O4 P: {: r0 w - return sum;
1 ]: u/ I% M5 Z: Y/ }- a) Y/ ~" {( M - }3 e$ L; ~ U5 I# c
- }
复制代码 资料下载地址:点击下载
6 t8 e1 w: E N9 g3 ]: W, H
& R, X" C) H8 k
5 ?# S4 O) x2 ? |
|