`
ihuashao
  • 浏览: 4544710 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

基于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();

相关推荐

    基于Struts的网络购物系统的开发与实现

    该系统采用J2EE基于struts框架开发,主要包括注册与身份验证、商品的浏览与查询、购物车管理、订单处理、用户信息管理、产品信息管理等功能。实践证明该系统具有良好的可扩展性、可维护性,在配置相应的Web应用...

    基于MVC架构的购物车

    界面看起来简单,但其中融合了MVC的思想,另外还使用了Struts和Hibernate两个开源框架技术,是有ajax的实现

    基于Struts2+Hibernate+Spring+MySQL的B2C网站管理系统购物网项目源码

    基于Struts2+Hibernate+Spring+MySQL的信通B2C网站管理系统信通购物网 采用当前最流行的技术平台,Struts2+Hibernate+Spring+MySQL。 1、首页:增加动态效果,产品分类栏目,首页广告,网站公告; 2、会员功能:...

    基于struts+hibernate的网上订餐系统设计与实现

    随着网络和计算机技术不断发展,计算机技术应用已经入驻到各行各业。网络已经将我们都连接在一起,走进我们的生活,用户足不出户就可以在网上进行购物,销售等活动,电子商务已经成为我们生活不可或缺的元素,它改变...

    基于struts+spring+hibernate的网上订餐系统源码

    二、技术实现 后台框架:Spring、SpringMVC、MyBatis UI界面:BootStrap、H-ui 、JSP 数据库:MySQL 运行环境: JDK 8 Eclipse Tomcat 7.0 MySQL 5.5 三、系统功能 系统分为前台订餐和后台管理: 1.前台...

    基于Java web的手机销售系统设计与实现(源码+数据库+文档).zip

    该系统使用了功能强大的Java Web开发技术,使用JSP技术进行动态页面的设计,使用了基于MVC机制的Struts技术。该系统选择功能强大的MyEclipse为开发工具,后台数据库选用SQL Server数据库。操作方便,可维护性强。 ...

    基于Spring+Struts2+Hibernate 的商城系统

    该电子商城系统功能包括顾客的购物车、订单管理和留言板,支持商品搜索;后台管理员的商品、订单、会员、系统管理等。 ...系统采用技术:Spring+Struts2+Hibernate+mysql+jQuery+Ajax+面向接口编程

    基于Hibernate的网上书城系统设计与实现(源码)

    本文介绍了基于Struts 和Hibernate 两个开源框架来设计与实现网上书店系统。按照顺序给出了系统的结构、功能以及问题解决方案的设计与实现,同时,针对该设计中的关键技术Hibernate 的原理技术进行分析,给出了解决...

    网上书城系统(Struts+Hibernate+Mysql).zip

    网上书城系统(基于Struts+Hibernate+MySQL)简介 在当今数字化时代,网上书城系统已经成为越来越多读者购书、浏览书籍信息的首选平台。该系统采用先进的Struts框架、Hibernate框架以及MySQL数据库技术,为用户提供...

    基于javaweb网上宠物销售商城系统的毕业设计,Spring+Hibernate+Struts2,软件采用MVC架构

    本系统是基于JSP技术,使用SSH框架(Spring+Hibernate+Struts2),软件采用MVC架构,页面使用Jquery工具,后台界面使用基于Jquery的EasyUI插件。 2 系统开发环境 开发工具:Eclipse 3.7及以上 数据库:MySql5.1 ...

    基于Java的网上购物系统的设计与实现-毕业设计论文

    多层体系结构,应用 Java、Struts、Hibernate等技术开发的网上购物系统。系统分注册 与登录部分和购物车部分,注册与登录部分主要包括用户注册与登录功能;购物车部 分主要包括购物车添加商品,删除商品,修改商品...

    基于AJAX技术的电子商城系统的设计与开发

    Struts是一个基于J2EE平台的经典MVC框架,主要采用Servlet和JSP技术实现。而Struts把Servlet、JSP、自定义标签和信息资源整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,更好实现...

    低清版 大型门户网站是这样炼成的.pdf

    2.1.5 struts 2的业务控制器action实现 39 2.1.6 struts 2的处理结果result 45 2.1.7 功能强大的表达式语言ognl 47 2.1.8 struts 2的运行流程分析—helloworld 48 2.1.9 struts 2的异常处理 52 2.2 struts 2...

    java技术文档 常用类和经典应用

    Eclipse中cvs的使用.pdf Eclipse中Web应用开发基础.pdf HashSet类的用法.pdf Hashtable类的用法.pdf Java语言基础.pdf Math类的常用方法.pdf String与StringBuffer.pdf ...在Eclipse中使用Struts开发购物车.pdf

    基于SSH的网上书店管理系统.zip-11

    网上书店系统是一个基于SSH框架开发的经典例子,通过设计实现网上书店网站,综合应用JaveEE应用开发中Struts2,Spring,Hibernate框架等技术,结合关系数据库管理,熟悉并学会灵活三大框架,以提高对WEB相关B/S应用...

    基于J2EE的B2C电子商务系统开发

    前端页面设计和实现:基于HTML、CSS、JavaScript等技术,设计和实现网站的前端页面和用户界面,包括首页、商品列表、购物车、订单管理等页面。 后端业务逻辑实现:使用Java语言和J2EE框架,编写实现系统业务逻辑的...

    基于JavaEE电子商务交易系统的设计与实现.zip

    电子商务平台是一个基于Java EE规范B/S架构下的WEB电子商务系统,采用MySQL作为后台数据库,运用JDBC数据库访问技术,通过Tomcat应用服务器实现电子商务网站的基本功能。该系统综合运用面向对象编程的思想,运用...

    Java毕业设计&课程设计-基于JavaWeb的网上药品销售管理系统(源码+数据库).zip

    基于JavaWeb的网上药品销售管理系统的开发步骤如下: 1. 需求分析:明确系统的功能需求,包括用户注册与登录、药品信息管理、订单管理...9. 实现购物车和订单管理功能:编写代码实现购物车和订单管理功能,包括添加商

    基于JAVA的购物网站(毕业论文)

    本毕业设计的内容是设计并且实现一个基于web技术的在线交易系统。系统主要以j2EE作为开发基础,使用了struts+spring+hibernate等多种协议或技术,用eclipse作为开发工具,以Macromedia公司的Dreamweaver作为界面美化...

Global site tag (gtag.js) - Google Analytics