该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”: ]8 k) O, N& M/ P0 k+ q E" D
代码案例:
. Q2 z; r, y$ A; {* A! d4 N- \4 f- package com.cjg.servlet;: ], y, j; U1 J1 Z, B6 W1 a( \
) Z0 x7 U0 I F- F3 e3 w- import java.util.ArrayList;
# Y- J' \% c3 H3 H8 ^2 T - import java.util.Iterator;9 ~9 r/ ]( b" O5 \& x
/ E5 g7 J; w" c5 W; C& p3 D) t- public class ShoppingCart {% d" h" V2 [* S
- /**
: |! ~ X+ ~$ y' \% y* H( r - * 保存所有CartItem对象的容器对象。
' B/ w7 P ?% U7 B" i; } - */
3 x) L. O0 c. `4 k1 q - private ArrayList<CartItem> cart;
# o" ^# f, u" o
6 m. g4 C- N H: ?3 c; k8 f/ B: a8 z- public ShoppingCart() {
; }) M9 M: _" t - cart = new ArrayList<CartItem>();9 {5 k& e. s) B, l" Y7 {$ B! R' x
- }4 J: f, `1 ^7 R! I4 |0 a
- # i2 V2 N; z5 K' ]/ {4 ]
- /**, i& \* h0 U- Y' z
- * 返回包括所有已经购物的商品信息的容器对象。( O( Z+ K4 z, p
- * @return 当前的items容器对象* v+ Z+ M$ v. a9 J
- */
8 t* `4 X4 ?2 }( ^* `& s - public ArrayList<CartItem> getCart() {3 `# ^- _* C0 L' _( C
- return cart;
0 e. l9 s3 B) ]5 U* ?. E - }* X6 ` w. i3 W/ y; _# B/ S
! e O' [: J8 W- /**% }5 }. l; l: @+ K7 N) k2 p6 N
- * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,
# W. P! u/ m3 t - * 那就修改已有的商品的数量,
- Y0 ~0 b2 W" m- Y) O - * 反之,构造一个新的CartItem对象添加到items对象中。4 k, J1 k& \2 W* y7 Y( M# Q L
- * @param item 新增的代表这种商品的对象# g$ N3 h% n& d& u. R/ c' A
- */
/ N' ~0 g" s) s1 U - public void addCartItem(CartItem item) {
6 d4 U% \4 d# r5 O7 S: { - CartItem oldItem = null;2 s8 I6 {7 P7 g" M
- if (item != null) { t% u+ A1 H3 c, H! Y2 X/ r
- for (int i = 0; i < cart.size(); i++) {, U/ ]2 C' x" l4 ^3 ^2 X- x
- oldItem = cart.get(i);# }- r6 {7 ^( t6 N6 p
- if (oldItem.getId().equals(item.getId())) {) @3 D0 E5 B1 }/ }# t
- oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());
% P) _1 _1 b9 |1 R8 N) L/ Z" n; V - return;* Z5 ~! w& P' s6 \
- }/ ?; N; p. o! y9 w/ @+ r
- }# p+ z/ q3 T8 }9 y8 v7 J
- cart.add(item);, M+ A% }* X4 r$ i" s. r5 O
- }
" ?, h# t+ k7 s* T$ ^8 E4 ] - }
& f3 B( }7 H' `7 N" m
3 o8 q* ~' n1 I- /**
4 c$ P, @! W- D% B- k - * 从购物车中,删除商品。
2 U3 ~# h4 u9 E6 B - * @param id 所删除商品的商品编号 h+ d) u; q9 b4 n6 W0 @. j; t/ E* l
- * @return 删除成功,返回true,反之返回false _7 y& q! g2 Y2 f! _
- */
9 I# w$ B9 B) b; ^% K - public boolean removeCartItem(String id) {8 G4 x% f. k3 M: ?
- CartItem item = null;5 z( C* O, k+ o) {
- for (int i = 0; i < cart.size(); i++) {
. J5 j/ u' C, F$ J ? - item = cart.get(i);
! y% L1 V; I, x9 k$ P - if (item.getId().equals(id)) {8 s7 d3 J( v( A, P0 {7 |- G
- cart.remove(i);' S1 q* _1 p) g1 o4 b/ h
- return true;+ ?7 G6 s( m( D) X w+ K
- }
+ ]) T d' f/ e3 T# T - }7 }! g0 ~, d7 c: ^! |
- return false;
; i& d3 r( Q) b8 O9 F& w/ g - }
6 n+ Y, x* {' P+ D0 u - 7 h- S. e6 X+ L. ^4 C
- /**
L4 A q& g8 ]- @3 \& H# _8 q - * 计算所购所有商品的总价。5 p- ]7 D+ `1 f* h: l" Z, i
- * @return 商品的总价
$ M; M' x/ N5 v - */1 Q4 s5 Y4 m4 R$ S" ?7 i
- public double getTotal() {
4 [, m9 H/ b6 R# C; e - Iterator<CartItem> it = cart.iterator();6 k' Q% n' Y! k: n
- double sum = 0.0;2 a/ H [2 H, O _" ]- u; ]
- CartItem item = null;+ M! E Z. E% I& t
- while (it.hasNext()) {& n7 U6 k! C/ n
- item = it.next();
. M$ A/ W9 x2 M - sum = sum + item.getSum();
) f- }' u" K. f) ~. U; Q - }
( O' {1 C! x J1 ^ - return sum;
; @ ^+ ]# O ], u; d* G0 c - }
3 H" r# h% y/ P4 t+ e) J4 e - }
复制代码 资料下载地址:点击下载2 |: j4 ~# n2 w0 B- Q( S
5 G8 c+ ?% z3 Y2 M2 R
0 N; ?+ J; ]! ]; z) V$ c
|
|