基于Struts技术的购物车的实现

第一部分:购物车的基本功能
从已有的物品列表中选择物品添加到购物车;
可以修改购物车中的物品数量;
可删除购物车中的物品;
可以结账。
通常购物车还有的功能包括:根据购物车生成订单、添加邮寄信息等。这些功能相对比较简单,所以不在这里实现。
第二部分:实现
实例包括以下文件:
文件名
主要内容
作用
生成方式
index.jsp
一个超链,链接到购物页面
进入购物页面
使用向导,然后添加代码
DBManager
封装了建立与数据库的连接,执行各种SQL语句的方法
完成与数据库之间的交互
代码完全手写
Good
封装了物品的基本信息,包括
作为值对象在各个层之间传递
代码完全手写
GoodsM
业务逻辑,封装了查询所有物品信息的方法,以及根据编号查询物品信息的方法
管理物品信息,主要查询物品信息
代码完全手写
CartManager
向购物车添加物品,从购物车删除物品,修改购物车中的物品
管理购物车
代码全部手写
BuyAction
根据用户选择的物品编号,把选择的物品添加到购物车中。
购买物品
使用向导,然后修改代码
buy.jsp
显示已有物品的列表,显示购物车中物品信息,物品列表后面有添加购物车的功能,购物车信息后面有修改购物车信息的功能。
显示物品,显示购物车,可以通过这个界面添加、修改购物车信息。
先使用向导生成,然后添加物品信息列表,然后再添加购物车管理功能。
UpdateForm
包含物品编号和物品数量信息,以及验证的方法
完成更新的时候使用
向导生成,然后修改
web.xml
核心控制器ActionServlet的声明,访问方式的声明
完成核心控制器的配置
通过向导生成
struts-config.xml
声明ActionForm,声明Action,声明映射关系
与ActionServlet共同完成控制功能
多数内容是通过向导生成的
所涉及的文件之间的关系如下:

DB
DBManager
GoodsM
BuyAction
index.jsp
buy.jsp
goods
显示所有物品信息

DB
DBManager
GoodsM
buy.jsp
Good
cart
AddAction
goods
向购物车中添加信息

DB
DBManager
GoodsM
buy.jsp
Good
cart
AddAction
goods
修改购物车中的信息
基本过程如下:
Ø 创建数据库
Ø 创建表
Ø 向表中插入测试数据
Ø 创建工程
Ø 创建与数据库进行交互的DBManager
Ø 创建表示物品信息的Good
Ø 创建一个单独的欢迎界面index.jsp
Ø 创建管理物品信息的GoodsM
Ø 创建BuyAction及其配置信息
Ø 创建buy.jsp,显示物品信息
Ø 创建CartManager,用于管理购物车
Ø 创建AddAction,完成物品的添加Action
Ø 修改JSP文件buy.jsp,增加代码来显示购物车中的信息
Ø 创建UpdateAction和UpdateForm
Ø 进行异常处理
在最后添加了一部分内容:如何在MyEclipse中创建Form。
下面详细介绍每一部分。
1、创建数据库
数据库的名字是:cart
2、创建表
表名:goods;
创建表的SQL语句:
create table goods(gid char(13) primary key,gname varchar(30),price float,quantity int);
3、向表中插入测试数据
insert into goods values('0001','洗发水',18,30);
insert into goods values('0002','洗衣粉',6.5,300);
insert into goods values('0003','羽毛球',3,330);
insert into goods values('0004','拖鞋',4.9,230);
insert into goods values('0005','面包',4,380);
insert into goods values('0006','订书机',11,80);
insert into goods values('0007','电池',2.5,1130);
4、创建工程
工程的名字:cart
Ø 第一步:选择【File】à【New】à【Project】,打开创建工程对话框。
Ø 第二步:选择【MyEclipse】à【J2EE Projects】à【Web Project】。
Ø 第三步:输入Web工程的名字cart即可。
包的名字:com.neu.cart
Ø 第一步:在【src】上点击右键;
Ø 第二步:在弹出的对话框中选择【New】à【Package】;
Ø 第三步:输入包的名字com.neu.cart。
Ø 点击【Finish】。
导入Struts相关的包:
Ø 第一步:在工程的名字cart上点击鼠标右键。
Ø 第二步:在弹出的对话框中选择【MyEclipse】à【Add Struts Capabilities…】。
Ø 第三步:在下面的文件中输设置以下信息:
n 选择Struts的版本1.2
n 选择包的路径,选择刚才建好的包
n 选中画面下面的两个复选框
Ø 点击【Finish】
Ø 导入之后察看WEB-INF下面的web.xml,包含了中心控制器的声明以及其它配置信息等,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
本例中我们使用mysql的驱动程序,导入MySql的驱动程序:
Ø 在工程上点击右键
Ø 在弹出的界面上选择【Properties】
Ø 选择左边的【Java Builder Path】,然后选择右边的【Liberaries】。
Ø 点击【Add External JARs…】,在打开的界面中选择数据库的驱动程序。
为了能够在部署的时候把驱动程序也部署到服务器上,需要进行设置:
Ø 选择【Window】à【Preferences…】
Ø 在左边选择【MyEclipse】à【J2EE Projects】à【Web Project】,在右边选择【Deployment】。出现下面的界面:
Ø 如图选择4个复选框中的第一个。这样部署的时候就会把我们添加在Builder Path中的类库部署到服务器上。
5、创建与数据库进行交互的DBManager
创建包com.neu.cart.common,创建的方式与前面创建com.neu.cart包的过程一样。
创建类DBManager,参考代码如下:
package com.neu.cart.common;
import java.sql.*;
public class DBManager extends Object{
private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;
public void init()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
//加载驱动程序
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/bookstore","root","root");
//创建连接
}catch(Exception e){}
}
//获取连接
public Connection getConnection()
{
if(con == null)
init();
return con;
}
//执行有结果集的查询
public int executeUpdate(String sql) throws SQLException
{
stmt = getConnection().createStatement();
return stmt.executeUpdate(sql);
}
public ResultSet executeQuery(String sql) throws SQLException
{
stmt = getConnection().createStatement();
return stmt.executeQuery(sql);
}
public void close()
{
if(rs!=null)
try {
rs.close();
} catch (SQLException e) { }
if(stmt!=null)
try {
stmt.close();
} catch (SQLException e) { }
if(con!=null)
try {
con.close();
} catch (SQLException e) { }
}
}
6、创建表示物品信息的Good
创建包:com.neu.cart.vo
创建类Good
package com.neu.cart.vo;
public class Goods {
private String gid;
private String gname;
private float price;
private int quantity;
public String getGid() {
return gid;
}
public void setGid(String gid) {
this.gid = gid;
}
public String getGname() {
return gname;
}
public void setGname(String gname) {
this.gname = gname;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
7、创建一个单独的欢迎界面
文件名:index.jsp
创建过程如下:
Ø 在工程上点击右键
Ø 在弹出的界面中选择【New】à【JSP】,弹出界面如下:
Ø 在弹出的界面中设置两个信息:第一个是JSP文件的名字index.jsp,第二个是文件的模板,选择【Standard JSP using Struts 1.2】,点击【Finish】。
Ø 生成的代码如下:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html locale="true">
<head>
<html:base />
<title>index.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
This a struts page. <br>
</body>
</html:html>
Ø 把body中的代码替换成下面的代码即可:
<html:link action="/buy.do">我要购物!</html:link>
8、创建GoodsM
完成Goods相关的操作,创建model包。
创建GoodsM类,完成物品的管理。
package com.neu.cart.model;
import java.util.ArrayList;
import com.neu.cart.common.*;
import com.neu.cart.vo.*;
import java.sql.*;
public class GoodsM {
public ArrayList getGoodsList(int page)
{
DBManager dbm = new DBManager();
ArrayList list = new ArrayList();
try {
ResultSet rs = dbm.executeQuery("select * from goods");
while(rs.next())
{
Goods goods = new Goods();
goods.setGid(rs.getString(1));
goods.setGname(rs.getString(2));
goods.setPrice(rs.getFloat(3));
goods.setQuantity(rs.getInt(4));
list.add(goods);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dbm.close();
return list;
}
public static Goods findGoodsById(String id)
{
DBManager dbm = new DBManager();
Goods goods = new Goods();
SSH框架购物车源代码详解与实战 本文还有配套的精品资源,点击获取 简介:SSH框架是Java Web开发中的经典组合,包括Struts、Spring、Hibernate,为构建高效、可扩展的Web应用提供支持。本文档详细解析SSH框架的每个组成部分及其在购物车应用中的具体实现,涵盖了用户交互、业务逻辑、数据持久化和前端交互的各个方面,包括Struts处理用户请求、Spring的依赖注入与事务管理、Hibe... 阅读详情

相关推荐

Struts2+Java电子商务商品管理系统实战

随着互联网的普及与电子商务的迅猛发展,商品管理系统在现代商业活动中扮演着至关重要的角色。它不仅是企业提高效率、拓展市场的利器,也是消费者获取信息、完成交易的重要平台。在本文中,我们将探讨电子商务商品管理系统的几个关键组成部分,并分析它们如何共同作用以优化用户体验、提高运营效率以及保障数据安全。

weixin_35753291的博客 464

发一个struts2+hibernate3实现的简单购物车程序

为了和学习javaEE技术的朋友们一起交流,一起分享学习,我刚刚写了一个用struts2+hibernate3实现的简单购物车程序,觉得还可以,所以传上来供大家交流交流,此程序还在完善中如下:我用的数据库是mysql数据库register.sqlcreate table user ( uid varchar(32) not null primary key, ...

weixin_33859504的博客 280

几个jsp简单网站,用myeclipse开发的。具体的类等。详情看代码。

几个jsp简单网站,用myeclipse开发的。具体的类等。详情看代码。几个jsp简单网站,用myeclipse开发的。具体的类等。详情看代码。

基于Struts+Spring+hibernate的网上书店购物车设计开发文档

基于Struts+Spring+hibernate的网上书店购物车设计开发文档基于Struts+Spring+hibernate的网上书店购物车设计开发文档.rar ...

congge4395的博客 114

jsp购物车代码Myeclipse

Myeclipse编写的简易购物车代码,界面进行了简单的美化,实现了将物品添加至购物车,清空购物车,删除商品等功能,供初学者参考

用jsp写的实现购物车

用jsp实现购物车有助于我们更好的了解和运用。

Struts 2提交form表单执行action后不跳转(ajax)

今日写项目写到一个商品加入购物车功能,原本设计是点击按钮之后,存储数据,并弹出一个div告知用户添加成功,页面不跳转,看似很简单的功能,却在“不跳转”这点上卡住,我不想跳转咋就这么难呢?查了很多资料,知道了要用ajax,因为本人愚钝,并没有能够解决我的小问题,一度想要放弃,特别感谢熊世唯同学不耐其烦的指导,让我解决了这个小难题 本篇博客旨在还没有深入理解ajax的情况下,实现一个提交form表单后不

并非所有流浪者都迷失了自我 5166

jsp+mysql购物车

用myeclipse开发的jsp+mysql购物车并详细注释的注释

2010-03-30 购物车核心源码

说明:网上订餐系统:采用Struts2+Jsp+Javabean 实现原理-----》用户有一个购物车属性,其实就是一个数组里边装的是具体的购物项目,它是一 个对象用于封装用户选好的食品! 因此有两个model类 User 和 CarItem  1.下面是购物车Action中的方法:  //删除购物车中的商品 public String DeleteProduct(){

gxh777的专栏 565

myEclipse实现购物车

使用JDBC数据库驱动及操作数据及使用JSP内置对象的使用 开发一个简易购物车程序

myeclipse+mysql商城购物车注册

myeclipse+mysql商城项目,内有数据库,第一次自己制作,内有bug不足请见谅。谢谢。

【2024计算机毕业设计】基于jsp+mysql+Spring+hibernate+Struts2的SSH在线蛋糕销售网站平台管理系统

点此进入演示地址最好是java jdk 1.8,我在这个平台上运行的。其他版本理论上也可以。Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以,如果编译器的版本太低,需要升级下编译器,不要弄太低的版本Tomcat 7.x,8.x,9.x版本均可Windows XP/7/8//8.1/10/11或者Linux或者MacOS,2G内存以上,推荐4G,4G以上更好管理员角色包含以下功能:管理员登录,用户管理,蛋糕类别管理,蛋糕管理,订单管理,网站留言管理,公告管理等功能。

xiaomingstart的博客 754

jsp网上在线购物系统(采用MVC模式 环境myeclipse和mysql)

网上购物系统采用MVC三层架构,struts2框架。实现了用户注册与登陆,商品浏览与购买,订单的生成三个模块。

学会hibernate数据查询分页

<br />产品数据库显示<br /> <br />购物车程序的编写<br />(购物车,修改购物车数量,订单生成)<br /> <br />以上技术必须采用struts2+hibernate+spring来完成。<br /> <br /> 

Java人生 338

jsp购物车模块

导入到MyEclipse里面部署到Tomcat上去就能用,很简单的一个购物车。

Super4PCS文章阅读笔记

Super4PCS阅读笔记 Super4PCS阅读笔记 前言 前言 今天给大家分享一下点云配准四点法4PCS0的变种——Super4PCS。此算法的原文在:Super4PCS: Fast Global Pointcloud Registration via Smart Indexing。稍微我也会写一篇关于如何使用这篇文章的里所提供的代码进行点云粗配准。关于四点法...

Vodake的博客 4540
上一篇: JSP培训(15)——购物车实例(下)及小结
下一篇: Java Web实践专题——访问路径问题
Java_Web_Book
博客等级 码龄18年 8粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值