|
该用户从未签到
|
利用 html 、 jsp 、 java 、 servlet 、数据库等知识点,结合相关设计模式、 以及软件工程的相关知识, 设计一个网站购物车, 用于记录不同客户的购物订单, 并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息 存储在数据库中。具体要实现的功能如下: 1 :显示商品展示界面、操作成功界 面、购物车展示界面等界面。 2 :商品信息存储在数据库中。 3 :对商品信息能够 进行查询、 修改、 删除、 清空、 下载等操作。 4 : 使用 MVC 设计模式 ( View(jsp) 、 Model(javaBean) 、 Controller(servlet) )。 5 :在浏览器中输入访问信息进行 访问。 6 :购物车信息分页显示。”
' R t- I- J/ i2 O. O9 i, Y; N代码案例:
+ j7 G5 [5 ^& N5 D- package com.cjg.servlet;- q$ i! f9 x2 n! x6 h/ }( _! |
- 3 z+ `# r$ {( _* \' F$ `
- import java.util.ArrayList;6 @3 _( Z3 Z/ e" {
- import java.util.Iterator;
8 i# w2 y2 J$ W3 m - * F' [1 ]% H9 I( q
- public class ShoppingCart {6 \! S/ a, n, J* }4 {: R
- /**6 B% ?, u) f( U0 l6 b, A
- * 保存所有CartItem对象的容器对象。
9 P5 D3 ?8 p0 E$ ?) N- o - */ i1 O' y! R/ `9 l
- private ArrayList<CartItem> cart;8 W, X" _3 a+ Z3 L! s5 F; J- r
- : z# w6 P3 A# B2 B( ^
- public ShoppingCart() {
) D! M a6 M! w% f8 j0 a$ | - cart = new ArrayList<CartItem>();
; s$ D0 D- C, b4 S# W$ e - }
s% }# @* Q9 t - 0 J8 o6 w' F' J& q* d6 z
- /**. @; f4 g2 P7 ~1 }- ]
- * 返回包括所有已经购物的商品信息的容器对象。& l- z+ @- j9 I/ W0 b! `9 \2 k, D
- * @return 当前的items容器对象
2 o$ f+ l1 N: b/ O% | - */
9 u6 p+ I% l M. ^* |! a+ c - public ArrayList<CartItem> getCart() {: @+ r' s! Q$ F
- return cart;
# ]2 e" N7 z- j5 m - }
H( c$ w: I1 D, n9 I6 v
: L9 }1 P) [: {, H' d+ a8 D- /**
; T& A+ y6 c' o8 V( s5 Q - * 添加一种商品到购物车中,如果这种商品在购物车中已经存在,' _# B: U# e8 p7 t
- * 那就修改已有的商品的数量,$ X+ m! }$ k* {1 M% e
- * 反之,构造一个新的CartItem对象添加到items对象中。2 r2 o, |# H& n- _* `+ N6 y5 Z
- * @param item 新增的代表这种商品的对象( A0 V& M) B. ] M* N
- */
/ T3 T+ d0 m" U; F) X - public void addCartItem(CartItem item) {
5 _* c0 U0 k; ?) H: B* X - CartItem oldItem = null;
. Y/ }+ i8 _% T# s - if (item != null) {
3 m! b$ [! [3 P" l+ P7 U" m - for (int i = 0; i < cart.size(); i++) {- G' M# ]: ^% U, M6 D- h% b
- oldItem = cart.get(i);4 N/ o4 _# `# Y' u6 q Q7 T
- if (oldItem.getId().equals(item.getId())) {. I( y: k% s$ r% N$ U) y1 B* g
- oldItem.setQuantity(oldItem.getQuantity() + item.getQuantity());
3 P! {; c; X, o# U: O, R - return;2 P' M6 P# U0 c5 R) a6 C
- }
& S8 e7 j" o2 |" z; u3 v - }3 J% n. W% V5 w7 [
- cart.add(item);+ H6 m4 M5 b! C2 F# j5 v
- }
9 ?. q5 m" p/ b2 v! J - }
' @" v. Z5 g. |' X& I7 e+ Y( @# b
8 [. n& M5 @- n5 q- /**1 `" k, G0 c* M7 s3 z
- * 从购物车中,删除商品。
+ M, h+ V# B+ e0 H( r- |9 Y - * @param id 所删除商品的商品编号" R3 z* I/ b* w
- * @return 删除成功,返回true,反之返回false: S6 i: q3 @1 A% @" Y
- */( Y8 @* Q; Q5 z* @, Z
- public boolean removeCartItem(String id) {
9 N" O6 i/ L% d3 P# k$ Q7 R - CartItem item = null;
/ }! w9 c! A- |- E - for (int i = 0; i < cart.size(); i++) {& `+ J6 e2 s+ Z# c
- item = cart.get(i);
2 N1 G/ O0 D/ t( T - if (item.getId().equals(id)) {
5 y& X9 `4 x+ Y9 Y6 F - cart.remove(i);
2 ^3 D; ^# T; E% ~ - return true;' U6 @2 E' c9 F
- }
8 t* Z1 z1 @8 q9 v1 c j5 ` - }( g3 n9 O3 y& f
- return false;6 ~8 ]+ Z' @+ s0 ]
- }, J4 N& u% R; _; a7 Y3 P
- ) h; K' c2 U' q# ~+ d! r
- /**
4 C1 U% t: ]- j - * 计算所购所有商品的总价。
9 F9 B# j# L) [& H - * @return 商品的总价7 E, m* h- j* T% s/ |& ?
- */# m, T! R' |# S2 h
- public double getTotal() {
5 W3 K$ E/ A) v& j0 K) l! Z - Iterator<CartItem> it = cart.iterator();
3 ^8 I3 G" U9 Y1 E! u - double sum = 0.0;/ V4 Z4 M! h3 h+ C! ^: J# O* _; k
- CartItem item = null;% s' D. v/ S0 E. t0 N6 W
- while (it.hasNext()) {2 Z( o8 P! ] m
- item = it.next();, j1 D g) a( b9 G2 m
- sum = sum + item.getSum();
, q* P: N; ]$ p- B& c% S - }( M1 m; L! [( Z/ ]2 ?0 n6 ^
- return sum;
/ j. |+ G8 a. H) f, x - }5 Q8 N7 e9 [, Q- i0 f) I( j; u
- }
复制代码 资料下载地址:点击下载 q! {+ l6 v3 G' s, [
, N$ T; v6 [: l! `/ }- y( `3 L% H
+ Y3 ?4 _1 A9 \- m* o8 ?! g5 a |
|