|
该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”2 R4 a. V A5 \
代码案例:
# ^) O4 L: J% E$ j0 u4 P1 I- package com.cjg.servlet;
/ n% t, X! u9 _; h! l# E - : u- r" d- U6 R$ y0 y
- import java.util.ArrayList;
! u" }* n6 D+ d) a6 A) Q i* ^) g$ ^4 l$ a - import java.util.Iterator;
! G$ E- g& J! Q: k1 ]* @" m - . `5 e% L9 A4 m
- public class ShoppingCart {
, g' p: A! D( @% `! e. @ - /**9 {9 l. x2 m6 T: r
- * 保存所有CartItem对象的容器对象。: m9 Y: s7 ^7 }& }" [( \% f% W W* f( @
- */$ E* D# s1 [/ A- S" I# h+ N0 \
- private ArrayList<CartItem> cart;
! D, d6 i# t0 H/ N% H
9 r; L' y7 @8 u4 s+ ?% }- public ShoppingCart() {- y8 f" n# s$ ~0 e
- cart = new ArrayList<CartItem>();
5 h/ _- J& Y2 r/ Q) w - }3 ]0 c0 o0 I, t4 f( \
- 7 I9 h4 M2 U. Q4 n- |
- /**
! b, B3 _, M8 q7 M( K - * 返回包括所有已经购物的商品信息的容器对象。
! B: h8 l- K. T/ Y6 b; ` - * @return 当前的items容器对象
. t- d, X$ }% N* ~. E; M" [ - */4 S, ], N+ u9 }+ X4 X3 s9 d/ r
- public ArrayList<CartItem> getCart() {/ V! a! v; k5 l" N: K) r2 r3 s
- return cart;
0 s; T _. p' h2 I- T - }5 Y2 }: c# {6 X/ c
- # E$ G: L1 v% I# `
- /**- }9 ]0 |8 F) S, Z; o# u
- * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,% R3 L$ y9 x' [
- * 那就修改已有的商品的数量,' `" Q2 n$ J5 T d, R) |: [
- * 反之,构造一个新的CartItem对象添加到items对象中。4 _1 _( B# Z0 D
- * @param item 新增的代表这种商品的对象
$ u! Y$ |5 `0 V7 l - */
. `* |. C- n) i" B# A$ e# r - public void addCartItem(CartItem item) {9 J, l$ |9 b5 J% _) Y
- CartItem oldItem = null;1 V s; g2 x& n& i4 e7 }9 ]/ }) }
- if (item != null) {6 T4 ^8 z+ g, P
- for (int i = 0; i < cart.size(); i++) {
$ L0 c6 f) f" `0 V) d, W - oldItem = cart.get(i);
3 P4 f8 P, g( ~3 b0 e! p+ \* [ - if (oldItem.getId().equals(item.getId())) {
3 G$ S9 @: g$ R - oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());
' E U, y9 [' l - return;: e: T" P& g) T5 c* t" S, T
- }4 P2 D7 V1 I# R$ B
- }6 |6 B* r, ~/ u: G1 a8 F2 @
- cart.add(item);
, n6 y" B" P4 ]8 L5 U1 j' C - }
& q$ s# d5 p; F - }
( ?/ g$ j( \" |& K1 }( R: y$ [ - 3 y2 x ~+ `/ c+ v/ W0 D
- /**1 p) R0 m' a& W8 A2 |$ {9 O
- * 从购物车中,删除商品。) y/ g0 H( @; Q
- * @param id 所删除商品的商品编号
! e. }. C f7 ]6 ~: _4 @ - * @return 删除成功,返回true,反之返回false
' l4 f- o8 {8 T, L7 r - */
3 k. f+ ~ o4 t9 o8 d - public boolean removeCartItem(String id) {
+ e8 \, h: M: [0 C; |/ c - CartItem item = null;% R' x7 r+ P3 `9 v( E) E
- for (int i = 0; i < cart.size(); i++) {
+ B, I0 z7 t i" l# K( I$ L - item = cart.get(i);
7 e$ @/ ?9 f- S! r: r1 T* ~ - if (item.getId().equals(id)) {
( l4 l. p" ` z8 a* J8 V - cart.remove(i);
1 P: f N/ V! A& P6 F2 Q* a; P7 u - return true;
, H; j' C2 B; t) J - }( X: I9 O8 m, o' Z6 E: x
- }1 E! I$ Y0 {/ y
- return false;
6 n8 g3 C/ @1 x - }, |+ `5 g. w' l/ J
% ?4 C' ]& c( J- /**
8 X1 b( a* z2 L: C$ V6 Q; v - * 计算所购所有商品的总价。( T$ l9 @+ t; j/ ~
- * @return 商品的总价
9 W% r0 E7 _1 c' B - */
. O; a$ B: S: S2 T9 z! ?% Z - public double getTotal() {% D! m- G$ a5 \8 C* \3 x, S
- Iterator<CartItem> it = cart.iterator();
4 u% O5 z2 v! G1 ?7 i. u - double sum = 0.0;+ [5 P4 b4 C& @# I
- CartItem item = null;: C: ^$ x8 W/ d E) J* c4 {
- while (it.hasNext()) {0 l/ u$ j: V3 J
- item = it.next();
: {1 [6 t, ]+ z6 h/ N - sum = sum + item.getSum();
$ p% ?. T( E+ G" R. y8 e0 v. G - }
" D/ T( Y8 \$ Q6 d/ g J7 f- m$ d - return sum;
: r/ K% @- A5 H. W* u' U0 | - }
# p$ F& L7 U; W: U - }
复制代码 资料下载地址:点击下载8 E/ G$ W' v- d i
! K) q. C$ X# I) e4 N2 k4 M& Y' v- q' Y) S
|
|