该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”
% A- v5 |' e8 t- p" q, [; g0 y& X代码案例:
6 @, e& l5 q0 P- package com.cjg.servlet;
' u4 i H6 V* ^5 J; N
) G; V& G# }1 V5 ^' s$ k- import java.util.ArrayList;
5 O- ?6 J; [. @* q4 X - import java.util.Iterator;- G6 c5 y/ e0 Y$ _5 v0 q
- # O9 r7 p5 Q5 \* Y/ p$ m3 H
- public class ShoppingCart {+ c( Q8 w! F" V7 ~: D9 c) J0 _6 h
- /**
7 o+ {4 R7 a4 r% ]( l/ z7 c& Z0 f - * 保存所有CartItem对象的容器对象。+ x2 H2 b, F8 H& u5 Z' @
- */
% z/ s" B- D d4 D- e$ [ L - private ArrayList<CartItem> cart;
4 Y' D2 e) @0 M& w D! J
4 k/ h. J0 R/ {, @2 p$ U& X- public ShoppingCart() {
: q! Q3 x% P/ q& t& U- O; [ - cart = new ArrayList<CartItem>();
5 L- i' P( q" W4 f, t - }
7 D+ w" X! B1 F8 I1 `8 f5 e% ]
- W+ m$ V( j9 @0 p& P1 J- /**6 U4 e3 h; i/ j# l
- * 返回包括所有已经购物的商品信息的容器对象。
( K4 I# m" N6 }& ~% ^; ~; b - * @return 当前的items容器对象
/ _5 p$ j1 _1 G2 s - */( x0 [4 K- D6 ~0 O- L4 V$ Q
- public ArrayList<CartItem> getCart() {8 s6 Q: V' S2 Q. \) ?& W$ V: a6 F$ }
- return cart;
& e/ J) G3 ]' k - }
0 Z6 M! ^, @: @# a$ m7 B: N+ v - 4 N' R$ z: S/ i" t0 X
- /**
7 ?: Z% M$ _' k: m$ ~ - * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,
3 r) m: a" S9 B - * 那就修改已有的商品的数量,
: `, O' U# E5 ^: N; q+ I - * 反之,构造一个新的CartItem对象添加到items对象中。1 k% ?" ]- F& m
- * @param item 新增的代表这种商品的对象
/ ^/ w" m2 \2 x - */
6 |, \: r8 w% \ - public void addCartItem(CartItem item) {
. d: n: G2 q* t) n3 Z - CartItem oldItem = null;
" u- z, u4 e- v - if (item != null) {
- G6 q2 J S P: R5 e+ ~ - for (int i = 0; i < cart.size(); i++) {7 E3 y6 B4 c) t* c) \! I' Z
- oldItem = cart.get(i);. t, F# ~" g3 Y$ I! e
- if (oldItem.getId().equals(item.getId())) {
5 U" x ^8 _2 G+ o5 N - oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());
: g: s1 b6 m4 G5 _4 A, N }' u - return;
, J' w. Y# A: m. f Y - }& g3 u; ^4 a2 a- V0 `! n
- }# W- k0 k! z" Q: X [$ ]
- cart.add(item);
# i. Y. s2 n5 f7 W9 H - }
$ N1 n5 b) [: v7 |7 a' s+ Q ^) x3 \( d - }
3 ?- }9 e$ C9 j/ Q( S
7 x _' H; r: @5 {* ?: Q* D4 T. S- /**
t4 Z/ x& m: J* x/ M% a E* t% L - * 从购物车中,删除商品。
2 ?7 s8 A9 u+ @) o) e2 C. c8 Q0 y - * @param id 所删除商品的商品编号
+ _. ?3 A) B7 f# |' E( y - * @return 删除成功,返回true,反之返回false; A0 I! s3 n9 Y+ n# t! E
- */
* m; z& D6 s" o" @- f/ U9 P1 P - public boolean removeCartItem(String id) {
# R, y& h1 v$ y4 Y- y6 f0 [ - CartItem item = null;+ d% l- f& B S& J" O# k' w
- for (int i = 0; i < cart.size(); i++) {
. X) ^5 F5 \( G/ L) V4 @) g6 K - item = cart.get(i); B: R: l# k: q) o" s$ c
- if (item.getId().equals(id)) {
, [5 W( T! W4 v - cart.remove(i);
! O# E& P% y7 ^; l8 n1 h+ e - return true;& l( v5 v% t0 F- v& V" w# M, N
- }
, [) m7 U9 j5 V: \ - }) M! G0 s! Z h2 b0 `5 x2 Z
- return false;/ t9 F$ F8 l" E0 X2 Z* K' k
- }5 G D( ]$ f& h: }5 |' ^
- \9 j; \: }' D: T! G
- /**3 p& U, w$ q/ Y H9 ^6 K
- * 计算所购所有商品的总价。/ Y' @! Q1 b, O) O, J" x
- * @return 商品的总价; r- F* m2 J0 U% B0 w; @
- */
& R% ~+ k9 h* q: X - public double getTotal() {, s# B+ [. C1 {2 ~- m9 i. Q
- Iterator<CartItem> it = cart.iterator();
) E( V+ A1 V8 }9 V% {" c' U - double sum = 0.0;
: w, f2 }, X, g3 Y: `( T9 [ - CartItem item = null;
: u1 o( P: @3 l - while (it.hasNext()) {
% n5 b1 v& {! W9 d - item = it.next();
- C* I* C) w9 B* ~ - sum = sum + item.getSum();
Q' Q3 V$ Y! t4 K7 } - }$ N7 d7 Y* Y/ p6 ?3 e" ]
- return sum;
7 N r0 K) T% r8 `2 N& `) x - }
( G0 F2 f) K3 Y2 d - }
复制代码 资料下载地址:点击下载
7 c# B, s+ v: x6 Y: H- U; K0 T
0 ], }& Z0 A/ _ |! h' H: ~% i. q |
|