|
该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”# x2 @6 _2 d: \$ a5 e
代码案例:' N$ F2 ~. O: A& G( H2 ~. c! w
- package com.cjg.servlet;
+ |# \$ W" }. ]. g* a9 H6 X7 e3 t
. g1 ]4 {9 r0 W ?6 u4 }- import java.util.ArrayList;2 ?* s$ E+ t8 }) z: J* F
- import java.util.Iterator;) |9 @& {6 H0 O4 U: I* b
8 v9 H4 y4 K- x- public class ShoppingCart {8 e, r, u; j: X+ K' q n" l" k
- /**
/ {8 {+ q& T& M; A* a0 f4 @0 O - * 保存所有CartItem对象的容器对象。7 G1 m* ]: Q2 z3 Z
- */+ j, l- O, D+ S
- private ArrayList<CartItem> cart;
3 C; \. g" u0 p6 C/ R) F7 s - 8 c; l0 j# h: p# a0 _
- public ShoppingCart() {$ E: i7 O$ U$ Y8 `. g9 d
- cart = new ArrayList<CartItem>();
3 f. j) _7 S1 A0 u2 n& j* ]+ D - }6 a/ f# `# F! [4 z
4 G, M7 k5 ?$ y5 u/ w' R0 Q& X- /**
) s& D! e7 y# T, W8 E - * 返回包括所有已经购物的商品信息的容器对象。
B9 v* k9 v* J. H - * @return 当前的items容器对象' ?" G7 r+ T8 [. }0 P1 b* {4 d
- */
5 s; N& y: @3 Y' P Z - public ArrayList<CartItem> getCart() {
2 V* z H1 I( s' q K - return cart;- L1 @6 }* Q# y
- } N+ D( v; _! l: m+ j. T) f9 z
, H8 [3 I4 N: e4 w# W9 g/ G- /**
' W6 y$ O/ M9 d" v1 Z2 R: L - * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,
T7 E8 L5 J) E/ u* b2 N; p | - * 那就修改已有的商品的数量,& R9 p n6 K7 c0 ^8 x' f. R
- * 反之,构造一个新的CartItem对象添加到items对象中。
{1 `* q% M8 i \" e$ v: W- R2 J - * @param item 新增的代表这种商品的对象! F- L5 t+ E) Q3 F1 B* k! W
- */; n5 n" _1 W) i" B" r
- public void addCartItem(CartItem item) {4 w3 @& F: J. A" A. g1 t
- CartItem oldItem = null;9 t, |3 I3 w; B. h1 v1 L$ G% j/ [ s
- if (item != null) {
, i; ]& C [5 f7 a& n - for (int i = 0; i < cart.size(); i++) {4 y$ m5 e5 W: D7 I9 \
- oldItem = cart.get(i);
# p' w& X" e, R4 D0 @" N# q - if (oldItem.getId().equals(item.getId())) {+ x" o/ Q$ V9 k3 ^- s2 p
- oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());; b" j! @& @6 J* e6 F" ~7 v8 `$ l
- return;+ P4 }7 h4 {1 q# o
- }% h8 P$ C- t% C8 ^
- }# y8 @3 ?3 t& P7 f
- cart.add(item);
* h" U) R8 a, G0 B, N - }
* }3 [ v- @. T! E - }
; R" T( m9 w% G - # `6 K6 N G! D% `
- /**. @! r3 n$ B# s/ W+ j0 \
- * 从购物车中,删除商品。
* n {& M1 ]" @3 a9 q d. o - * @param id 所删除商品的商品编号
( v9 N/ d0 s. {' V7 e6 I/ r9 @( ~ - * @return 删除成功,返回true,反之返回false; a5 V# X; A, M2 |
- */' B g% _! n7 l
- public boolean removeCartItem(String id) {
' d8 I7 n3 b. F - CartItem item = null;8 ]+ d$ b: t7 p8 ?( b
- for (int i = 0; i < cart.size(); i++) {
y; x+ v, M& w7 Q/ C% j - item = cart.get(i);
( t- v) m: O! }9 C7 t' }$ L. l - if (item.getId().equals(id)) {2 t9 K3 J) V, F3 |% d
- cart.remove(i);8 q; S/ m6 T9 {4 o" `( `
- return true;
# D7 h9 ^; p9 W# `% l - }+ d5 ^" m" {7 r
- }( }' z/ q+ A2 N
- return false;
' V2 F% p) C; {0 q - }
- X1 {9 x/ o8 A! X7 R
6 h& Y7 n, H2 H/ F/ X" l3 y- /**
# s! E0 m# j. b( z - * 计算所购所有商品的总价。; E" {: i2 M( e! i7 {
- * @return 商品的总价
+ Y* Z+ a9 J! p/ o8 n& S( m2 ~ - */
" a+ S2 b+ _1 h+ m5 N5 U4 { - public double getTotal() {
d, {, @7 h( X3 }( } - Iterator<CartItem> it = cart.iterator();) X4 F/ v% w! i: ] e% y, ]( m% t
- double sum = 0.0;$ \$ f( ~7 r1 p5 e9 N& d% `* X
- CartItem item = null;
2 a C. o. w) x1 t0 W. A6 b5 h" B - while (it.hasNext()) {* E* P3 t D' c5 R7 G0 K
- item = it.next();) y' E, o* \; v, q
- sum = sum + item.getSum();
. ^. I; F% k' p% J5 r - }
% N' v+ ^5 n& L& U- v - return sum;: m" g) Y% }; _6 F- } @$ y
- }! l2 O2 @2 v" I& ^6 \: L+ v
- }
复制代码 资料下载地址:点击下载9 G8 h& k9 G3 T8 ?) c3 ^" @
# ^/ p% B1 T6 l6 y5 F! \3 L& _7 {* g, b8 L
|
|