该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”8 g, h0 u) }/ |3 }
代码案例:; Z' S4 C8 l% O$ ^+ Y! ]
- package com.cjg.servlet;
+ G% ~8 \* n3 K% b2 V% y - 3 {7 z3 w0 x! J% _
- import java.util.ArrayList;
) {/ E% |6 d9 V) V - import java.util.Iterator;
& j: |' ^; }( T! Q3 b - J% r5 b2 I/ c4 U9 H5 i9 y+ A
- public class ShoppingCart {
% Q5 G- b4 V. J - /**
' G* `6 Q, L$ ?- ?4 m6 L) Y6 y - * 保存所有CartItem对象的容器对象。% }! r. N# ?4 z) `
- */
+ \4 b3 i! i5 b c - private ArrayList<CartItem> cart;: X5 q3 l1 u" B4 I5 W% m
- 8 {5 B0 w% f$ r' G
- public ShoppingCart() {3 ?% Q+ F8 L* ], u1 `' D
- cart = new ArrayList<CartItem>();
* o& e# v/ v$ u" R - }, I. V) F6 e) @: g! H
/ j1 I4 ~/ y/ s: w# E- /**# z2 B! ?" g0 }, S9 n' j1 X, o5 z
- * 返回包括所有已经购物的商品信息的容器对象。9 u8 I' e8 c A, s$ @8 Y( ^( i. q
- * @return 当前的items容器对象
2 w% ^! I, P6 U N9 w9 `) y - */3 u6 |9 o5 i2 \, E5 Y% E
- public ArrayList<CartItem> getCart() {
6 y! x* O: T' P4 _$ a5 y - return cart;
% | W2 z7 ] m/ B2 m - }, H) d% |" B! g# ~4 S
- / P/ Z. e, N' l% W$ }, {5 h. W
- /**+ t' D1 w, x R
- * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,6 K! ^8 I/ a6 b1 l- Z1 H: e' g
- * 那就修改已有的商品的数量,0 h% \% G/ o9 G7 F7 a( n
- * 反之,构造一个新的CartItem对象添加到items对象中。
" p( j' ?3 `, D5 [0 ] - * @param item 新增的代表这种商品的对象
2 E1 p& V* E2 c1 C" `( ]5 s0 e8 h - */+ {8 o3 i- ?3 }" c! w* |2 `- `
- public void addCartItem(CartItem item) {: z) b/ N8 h: \
- CartItem oldItem = null;
; Z& l- {7 p' ^5 E3 v9 K - if (item != null) {- T' T7 p7 m! _
- for (int i = 0; i < cart.size(); i++) {" e) o0 a, u' E4 r
- oldItem = cart.get(i);* G2 H! Y# c. M0 t$ C6 u1 C
- if (oldItem.getId().equals(item.getId())) {% j7 k+ w" f1 g: S( }( l# q1 q
- oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());8 _' a, S+ C( V- Z" S2 k/ G
- return;
5 o1 G- j y. L( W: @: H- a7 U, e9 E - }5 w. F. b; C1 U2 ]9 W
- }
: l+ E0 p# Z& \: X6 o7 G0 B - cart.add(item);. O- H: d- H2 h
- }" C) V9 O7 w/ x# B8 H% Z4 t" r& q
- }
) }' S( A8 P9 U# Z2 @; ]! @( I
1 [5 k( O6 G. C' w5 X- /**4 C& L* _/ L& ^( u
- * 从购物车中,删除商品。$ b5 n& j/ M1 G
- * @param id 所删除商品的商品编号
9 i/ Y L$ V d - * @return 删除成功,返回true,反之返回false
% w. X* E$ o A' V - */
9 F- T- F. t' e0 o' y+ D' l" x! I! _ - public boolean removeCartItem(String id) {
& w* }4 h+ X n! } - CartItem item = null;2 r+ c" X& K' O# Q% }# o, j) f
- for (int i = 0; i < cart.size(); i++) {
' Z; z3 }4 X' f% d' T - item = cart.get(i);) w2 Q6 P- I* o8 {6 E
- if (item.getId().equals(id)) {; j5 b6 t: v) S& {
- cart.remove(i);
! v' k/ U3 K# v* `! J- W - return true;
+ s1 }/ B: }6 U2 i) f - }" t f$ l0 i# s+ Q% M9 u& \
- }
( P* f- {% T; o- L1 S$ o$ W - return false;
2 f$ ~/ M; G1 S# M( Y |7 @1 d - }$ ^% \; w8 m/ ? D5 x
( E1 B; x6 t7 [- /**
# ^3 R3 C7 L3 w1 L* q - * 计算所购所有商品的总价。
! X" F& x+ B& U+ w. H" O7 h - * @return 商品的总价2 R- B: y& [: H! B
- */9 j5 L2 i) g6 M: K8 ^- |
- public double getTotal() {
& E* o/ P" \- ? - Iterator<CartItem> it = cart.iterator();
/ v6 H, X2 [% X% }, w - double sum = 0.0;! f2 y: c% Z; r
- CartItem item = null;
: Q% j5 G4 x/ x# }& R5 `* T: f - while (it.hasNext()) {
% L- _5 U5 f) C& G5 ?' }+ t2 X - item = it.next();/ t* c' t, K! Y2 B
- sum = sum + item.getSum();
# j. q- ~0 u* B: F - }* C' r: q* r7 ^- x
- return sum;
4 `) x, {/ T& g, a - }
! I; a2 M- C5 u6 y - }
复制代码 资料下载地址:点击下载
7 m- r9 g1 `: m% V+ q* \5 |! g
+ t( I1 ^4 v1 O; m
2 y- `' f6 y, m3 O |
|