该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”
2 H3 z! ^5 m/ h) r( A, O5 L代码案例:
' v( P8 o) f1 I- package com.cjg.servlet;4 K" t5 U. `' K( Y4 A
- : z7 `7 G& Y! @0 _; l
- import java.util.ArrayList;0 I1 ]8 a6 E9 j" K5 h- r
- import java.util.Iterator;5 E* d3 F- |, ?5 ]) c6 ~# ?
- ! C9 M* V8 [. a# K
- public class ShoppingCart {+ x. N3 ?; \( j, _
- /**
7 V% P: ^+ p2 y( j, G - * 保存所有CartItem对象的容器对象。
$ f+ u# p* a) f% y# [/ f5 { S - */* }9 K8 g9 T2 P
- private ArrayList<CartItem> cart;
. x2 H! e3 n" _7 d/ P; r - 7 W! Z8 O0 p. U' z" b9 {6 Z# b7 h) |5 c
- public ShoppingCart() {3 O" j$ ?# Y# h
- cart = new ArrayList<CartItem>();8 y o" l; m; ?" M6 H) F( ]
- }
. z( P7 J: F& y' z# ?/ n - - l" O; k5 p* g1 R( |/ J
- /**9 P, q& f0 }. v( @; W! Q
- * 返回包括所有已经购物的商品信息的容器对象。. ^) n9 e3 r/ |' L E8 m! z
- * @return 当前的items容器对象5 z2 ?5 q5 c* p
- */
2 ]4 A# @5 }4 y - public ArrayList<CartItem> getCart() {! U, }" I( N3 C4 i
- return cart;
- Q4 K; R! P. |' ~: Q - }/ F0 ~6 N+ U4 @8 n q0 l8 T
& I( Q: Z- X9 ^1 u3 @ U* B) e- /** H7 c) @ v9 o$ k# y% k" }4 e
- * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,4 p; G, q$ d( B8 C
- * 那就修改已有的商品的数量,
/ B5 J8 n! p, E: Z1 ?* S - * 反之,构造一个新的CartItem对象添加到items对象中。 ~ Z( |& D7 T9 {7 D) S
- * @param item 新增的代表这种商品的对象2 n# ~. Q! y9 }
- */! ^ n0 K2 Z- c5 Y, @; u
- public void addCartItem(CartItem item) {
# Q" W" M. N: M6 B1 _6 @ - CartItem oldItem = null;
# `0 L5 P+ M# G3 v/ | - if (item != null) {
2 `. Y& i, c( j/ O8 D. V; i' ~ - for (int i = 0; i < cart.size(); i++) {
" H! ^# p. i8 Q0 D - oldItem = cart.get(i);
- {" y& Z1 ~! U% y - if (oldItem.getId().equals(item.getId())) {
; N$ G; j" j6 p- E& {& w - oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());
/ V2 N) S# d1 @ - return;7 w# _2 Q( q$ x# H$ `
- }
& ~9 m% ] R0 n - }
1 |7 X8 J$ B/ M, a - cart.add(item);% ]% k5 e! D/ ~& F4 z# y
- }
$ l7 n% ]& o7 N9 g6 S - }
; i- ]( D+ G+ f. h# Z5 w7 q - - M; m D2 k( |- C k, p
- /**' k' O3 o0 K; Q+ Y5 Z5 _4 }
- * 从购物车中,删除商品。
0 C- c* u* c: A3 ?2 U! a: U9 v' H - * @param id 所删除商品的商品编号
( P8 B5 P, Q# X. s5 Q3 N& f+ r. _ - * @return 删除成功,返回true,反之返回false, {! S5 N5 u9 @3 c; z6 [( A9 C
- */. o) I8 Y" r' f, [
- public boolean removeCartItem(String id) {1 G3 I2 S' j+ y9 B1 J
- CartItem item = null;9 y2 H; a8 h$ h" |$ r4 T
- for (int i = 0; i < cart.size(); i++) { G+ t& g3 k0 O/ r
- item = cart.get(i);
# E6 L$ R. B8 N* o2 p - if (item.getId().equals(id)) {
( g" x' y3 u6 e' T& J+ F/ n7 a - cart.remove(i);, K! g( ? w! h, w5 ]
- return true;
) [! Q" i4 U$ y- o' |) m - }
/ s C6 t9 F; E) z" Q( v$ Q. ~ - }2 A z1 \+ Z: D! t
- return false;3 H/ Q+ P4 ?& E+ L" |6 M( H% u
- }
; ~0 `+ W: n& \4 \3 k4 J) ~ - . x* f7 i: Z8 B8 ?! @( g8 e: s
- /**
, r7 A3 K1 q$ o4 O - * 计算所购所有商品的总价。9 ?. s$ L: b" D' |! T0 b' l& }
- * @return 商品的总价
$ X( l9 K2 Z6 W1 ]# x - */
* r% z6 l& l0 [0 n& D - public double getTotal() {
0 J4 }6 [9 U$ e |# f% v - Iterator<CartItem> it = cart.iterator();
H2 E4 R. U* ^, [0 e/ [ - double sum = 0.0;( S# Y3 a" w/ v; g
- CartItem item = null;. X6 o" ]8 X+ o1 G
- while (it.hasNext()) {
8 [* G$ |/ Y1 }1 \2 Q - item = it.next();5 C% C0 H, W& A
- sum = sum + item.getSum();1 @% N: O: T! i
- }
# P; Y% g, ]- Z A$ Y) i - return sum;
6 m5 I/ b4 D4 c2 m. G - }
1 x. @) G! E3 Y% j8 S - }
复制代码 资料下载地址:点击下载3 a+ a. @0 n z. `" O6 E
6 n. s |8 P$ x- M; Y- W
& W8 U: c! z$ b$ u1 @9 \
|
|