该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”
7 C5 K7 o# T k, A2 f代码案例:
2 A6 {7 U* }2 x0 W2 Y! N! C" p- package com.cjg.servlet;
6 k/ t# ?3 Y9 d: z! j' z& Z
5 T9 J; ~4 r; X( l- import java.util.ArrayList;
- L# `' O5 ~0 n5 H1 v" b - import java.util.Iterator;
. t# X; t2 n1 D% e( ^4 _ - ! h8 |& T7 x: y, O; j8 Y
- public class ShoppingCart {9 I5 b* @) V& _+ P6 _1 b
- /**
/ U; H2 v2 W: H" c" R7 ] - * 保存所有CartItem对象的容器对象。: S( w) g n# @! {
- */
3 {; M% L# h* ?4 s - private ArrayList<CartItem> cart;5 J" y6 V8 e- o" D- k
- 1 C( ?' s# |8 N# O
- public ShoppingCart() {
9 V% \) |! N3 u* } - cart = new ArrayList<CartItem>();. a( @# I* H( J- z* c
- }8 j+ P1 a) k' V# O4 s3 R& R' V
- ' q" I) q X/ H; g
- /**
, [) ~4 I% K. |; M8 w! c - * 返回包括所有已经购物的商品信息的容器对象。
) F) J" }" R q: D0 T! ` - * @return 当前的items容器对象) B& G3 r4 s/ d2 o5 N g0 W) `* e
- */
; U3 Q h* ^. T4 c" L; ^ - public ArrayList<CartItem> getCart() {0 I# c1 f8 U3 p2 u9 C/ i
- return cart;
5 r- z6 w4 K0 N v8 C& O - }, y0 R/ k7 m) O
3 P, H( |0 `1 n, p+ A- /**
+ q ]+ u* F! Q; a* b, M9 N8 l - * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,: k2 w4 g" ]6 U- a2 c l4 y9 v7 Z, u
- * 那就修改已有的商品的数量,1 S" x, V" h4 V9 Q) c' U
- * 反之,构造一个新的CartItem对象添加到items对象中。
2 E, P& ^; n% x/ F3 R" Z - * @param item 新增的代表这种商品的对象3 X' e7 i( a5 @# T
- */* O0 P. ?0 U" {, E$ a
- public void addCartItem(CartItem item) {
- R) M' r8 O) |, x - CartItem oldItem = null;
# Z+ `% E0 u" H3 p X3 w - if (item != null) {6 T8 T/ A& a4 q$ B9 N. Q( P! w
- for (int i = 0; i < cart.size(); i++) {
, A. s- d0 h- p5 _' ^8 y - oldItem = cart.get(i);
0 Y" p$ t E2 G& Q* y& ^ - if (oldItem.getId().equals(item.getId())) {
) X9 ]5 ]5 [0 E6 ] - oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());- A- \9 q- ?0 G" A! h7 Z
- return;
* C( o2 _: y6 k3 B9 } - }. E2 N* i2 W: k# q' y; c
- }9 Q) O @# k) F7 y/ a, v
- cart.add(item);6 f( M9 r/ z0 X6 P
- }6 l( u( I: V& k, P- d b
- }/ G w; V7 G8 K
- * n& a; Y# Z& {' |% A% p! ^
- /**
! `8 l+ n5 I9 V3 ~# J - * 从购物车中,删除商品。! J# Y" E0 R! t( Q, l! Q
- * @param id 所删除商品的商品编号/ I, u) I3 a4 `. V% |
- * @return 删除成功,返回true,反之返回false. k! |( Y% U, E9 U# f4 f" F
- */; K( Z% p) Z8 l w9 J; d6 P
- public boolean removeCartItem(String id) {5 k' m9 G3 L9 n! u' ^' |2 m
- CartItem item = null;
! \7 ~, c# I/ k: s2 M0 J - for (int i = 0; i < cart.size(); i++) { l) V" `3 Z$ B7 e
- item = cart.get(i);6 C% n2 ~4 o L/ U& [, z
- if (item.getId().equals(id)) {: l% A# J# ]; W
- cart.remove(i);. |$ B# S8 S% L1 ~
- return true;
, a. M2 D. Z& {) a* s! g" j - }* j8 M' d: \2 d8 ?
- }% ^, ~8 N8 a2 _, p+ u% c7 B
- return false;
" t/ ?1 B, g) ]: N- d - }
& z Y! ]' m/ b0 ~% w9 T5 N - ?/ T* t4 h% k1 I8 R
- /**
. O% f J6 e% h0 n' \# b - * 计算所购所有商品的总价。
+ ^9 o# z! i2 {, }2 {, F - * @return 商品的总价6 @% \- I' S! J! e6 g
- */
9 B, ^5 u+ \8 @" a5 ^" c) y g, c+ x - public double getTotal() {
" ^' g) U2 w. s0 v - Iterator<CartItem> it = cart.iterator();' r0 i" m3 U; h: V( x# v) _
- double sum = 0.0;, F7 h% l/ M# X# z1 I
- CartItem item = null;6 P; s) e* b$ _
- while (it.hasNext()) {4 ]- K7 N* H* a) `0 _! z; D8 Y' ]+ m
- item = it.next();
1 f4 ` Y O X7 m$ B - sum = sum + item.getSum();
% l" c3 a) ^' \/ C: i; T - }/ e! ]4 @- V( a1 q4 j9 p* {
- return sum;- s1 J: p7 b, j( Z
- }6 N2 k) s* s; }: R/ ~; q
- }
复制代码 资料下载地址:点击下载% O1 u: O1 x* I( {6 k7 ]+ o! u
* a% E5 {' i; V5 w: ~
6 q9 X" I0 C' p# T+ N2 l |
|