该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”! R, w6 N0 B, b L
代码案例:
1 N) S% M! G G4 C! ^" A3 B. ?: ~- package com.cjg.servlet; o0 x) V [0 v3 `) x& a# K& Q
- * a$ r# s6 X; U) N3 M2 u
- import java.util.ArrayList;' V* K: K0 N+ m" S
- import java.util.Iterator;2 x4 [& Y) ~( c% L3 F3 F
- ' w( {* ~: o. {8 r( c( T# u
- public class ShoppingCart {
, m: v, @. C; O6 U$ j - /**
' `6 X& f* d% w0 n - * 保存所有CartItem对象的容器对象。
X, O4 A7 v+ @, [5 }/ T# C - */
/ v5 L9 a/ j4 T* c7 v' Z - private ArrayList<CartItem> cart;1 _) m* p& n1 O* Y1 \
5 d/ x j* a" p, r# X/ T& N% z3 Q- public ShoppingCart() {
5 s& p5 i9 a* y$ M - cart = new ArrayList<CartItem>();+ k* D4 r/ F! l* A; \' k" D; j" |7 W# b
- }
/ c* ~& L \- p0 ~) R6 K- v$ l! H7 m - . j0 B- }/ Y# d8 {3 M* c4 v
- /**: ~4 d4 q8 ^6 K0 {; V
- * 返回包括所有已经购物的商品信息的容器对象。7 H; T7 U! Q+ H( |3 v+ q" }- K
- * @return 当前的items容器对象
' {& X! V) u# t3 ]. Q( F# E% q - */3 Y( s( l4 {/ v
- public ArrayList<CartItem> getCart() {+ J/ p- i. @1 M0 H6 Y0 o% p8 Z& ]
- return cart;
! O4 |9 R, m$ Q, G; ?7 u - }
7 |$ m; P$ Y) e, Q# u7 Z3 ]: l. N( F
& p, q$ y( i5 I( D. L+ h- /**
: m! e* m) m8 O/ D - * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,
" v, u6 V+ @) I( d/ p* P6 l7 U$ w* N - * 那就修改已有的商品的数量,# w" u2 j) g. R( T1 O" y
- * 反之,构造一个新的CartItem对象添加到items对象中。
4 J+ d* J5 M# i8 @ - * @param item 新增的代表这种商品的对象$ }. P7 G/ s' D8 M
- */6 a) B' h9 v7 J( X
- public void addCartItem(CartItem item) {
9 ~, S$ I8 Z' } - CartItem oldItem = null;
! W5 {: A9 _1 s) l - if (item != null) {
7 W1 ^& r9 f$ d3 b- _4 i& ] - for (int i = 0; i < cart.size(); i++) {8 Z! K1 Y* d; f
- oldItem = cart.get(i);
: B6 V% F7 H i - if (oldItem.getId().equals(item.getId())) {
2 S# P" |" V9 [ - oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());1 u2 l* _ g2 r. b/ i
- return;
7 G8 t/ s: _% e7 K( u' M" I - }9 o0 T) z" E1 ~# c
- }7 P1 v% A8 j! y: a
- cart.add(item);2 o$ ?, h8 u D' o: L8 `) y: j- S
- }" W' E! R( M- @0 v
- }& Z* u3 x5 p3 ~2 P j: I: r0 G
7 Z3 k7 y1 @, Z. H& |: z7 F- /**& u4 U2 o- M: g7 ~4 A/ h
- * 从购物车中,删除商品。
' l3 Y% O% a+ Z - * @param id 所删除商品的商品编号
2 N2 B, Y+ f! H4 G! C+ k - * @return 删除成功,返回true,反之返回false. t t! k& u6 Q7 N+ U) R
- */- n+ \( r; @$ x) e. \
- public boolean removeCartItem(String id) {
2 Z1 H, v. U" o8 a) _. F7 U/ i - CartItem item = null;
- l1 e5 b. w1 c/ D) u' G - for (int i = 0; i < cart.size(); i++) {
% ?' ~, S! x/ ^$ B& Y4 T - item = cart.get(i);9 r5 s b* q: p/ h2 F
- if (item.getId().equals(id)) {9 ?+ D% |1 v7 |" E2 L) h, ]$ w, l8 r
- cart.remove(i);
( E8 u- }% S% e( W/ b$ C; f$ p - return true;
) J$ ^" W- i4 u; M | k- H - }
3 W& A# l3 v% r4 y - }
. B5 f* @! B8 b- f2 ]! c7 Y3 M/ T - return false;6 t6 p: a% ^9 n5 s* y: c9 l
- }/ z' m1 k$ [ w: o4 N
- . P! g* _9 k P7 H
- /** l- M5 `1 i8 `3 X) H( c* [$ A' n) T
- * 计算所购所有商品的总价。
2 `! j" \' F7 I4 O+ F2 W! m - * @return 商品的总价- u; @/ T7 K7 Y& e1 f0 l% |
- */
: [3 _4 }% @, a5 g4 Y' B& ` - public double getTotal() {
0 G/ I) E/ }9 \) { - Iterator<CartItem> it = cart.iterator();
1 ]: t8 i; s' ~! c2 P# u" f - double sum = 0.0;
5 A" l3 m5 e0 u6 S - CartItem item = null;+ W* j3 N5 v# R. t! e" j' S
- while (it.hasNext()) {
, P- V% j2 B6 }0 l) Q+ v" Y - item = it.next();
4 A9 ` o. ^! }4 N7 B7 Y - sum = sum + item.getSum();, Y+ M+ l. q C) `9 |
- }
! J& }6 i( i4 r, g/ E! K. A% \0 L6 M. O - return sum;
$ ^3 \* e* r+ P( S7 f - }2 @. h2 q' ^$ t6 d& C5 O
- }
复制代码 资料下载地址:点击下载7 s7 Q# E1 i( F7 P
- F' r$ e( e$ K3 J& k
! @9 k& ~0 K) n4 s; R5 f# s' e: _" Y |
|