沈 阳 工 程 学 院
课 程 设 计
设计题目: WEB程序设计课程设计
系 别 信息工程系 班级 计专本121
学生姓名 陈硕、白杨、康健 学 号 32、26、25 指导教师 曾祥萍、杨弘平 职称 讲师、副教授 起止日期: 20xx年 06月 17日起—至20xx年07月03日止
沈 阳 工 程 学 院
课程设计任务书
课程设计题目: WEB程序设计课程设计
系 别 信息工程系 班级 计专本121
学生姓名 陈硕、白杨、康健
学 号 32、26、25
指导教师 曾祥萍、杨弘平 职称 讲师、副教授 课程设计进行地点: F座6楼
任 务 下 达 时 间: 20xx年 06 月 17 日
起止日期:20xx年06月17日起—至20xx年07月03日止
教研室主任:杨弘平 20xx年12月8 日批准
1.设计的原始资料及依据
通过课程设计使学生进一步加深对课程内容的理解,利用程序设计的基本思想进行程序的开发,进一步掌握编程方法和技巧,提高学生用程序的思想来解决实际问题的能力。
2.设计的主要内容及要求
设计题目:网上购物系统开发
需要完成的功能:
⑴ 实现网上购物网页,会员的注册;管理员对数据的管理。
⑵ 会员对购买物品的记录,查看和价钱计算和提交。
3.对设计说明书撰写内容、格式、字数的要求
⑴ 学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院课程设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。
⑵ 装订格式
封面、任务书、成绩评审意见表、摘要和关键词、目录、正文、结论、致谢、参考文献。 ⑶ 课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,三级节标题采用黑体小四号字,表题与图题采用宋体五号字。
4. 设计完成后应提交成果的种类、数量、质量等方面的要求
⑴ 课程设计任务书
⑵ 课程设计报告
⑶ 设计成品(光盘)
5.时间进度安排
6.主要参考资料(文献)
[1] 耿祥义.JAVA2 实用教程.北京:清华大学出版社,2006
[2] 东.JSP2.0应用教程.北京:清华大学出版社,2006
[3] 黄明.JSP课程设计.北京:电子工业出版社,2008
[4] 石志国.JSP应用教程.北京:清华大学出版社,2006
[5] Sharon Zakhour. Java教程. 北京:人民邮电出版社,2007
沈阳工程学院 课程设计成绩评定表
系(部): 信息工程系 班级: 计专本121 学生姓名: 陈 硕
沈阳工程学院 课程设计成绩评定表
系(部): 信息工程系 班级: 计专本121 学生姓名: 白 杨
沈阳工程学院
课程设计成绩评定表
系(部): 信息工程系 班级: 计专本121 学生姓名: 康 健
沈阳工程学院课程设计报告 摘 要
摘 要
本网上购物系统是一个基于Internet,采用B2C(Business to Consumers)模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。它不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。本文首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,较详细的论述了系统的详细设计和实现。最后,本文对网上购物系统进行了系统检测并提出了还需要改进的问题。
本系统主要为用户提供了会员注册,购物车管理,商品搜索,我的订单等功能,为管理员提供了供货管理,销售管理,库存管理,系统设定管理等功能。在设计方面,本系统采用B/S三层结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用Java Bean对程序的关键代码进行封装。后台数据库选用SQL Sever数据库。
关键词:网上购物系统,MySQL Server,JSP,数据库,B2C
I
沈阳工程学院课程设计报告 目 录
目 录
摘 要 .......................................................................................................................................................................... I
第1章 绪 论 ........................................................................................................................................................... 1
第2章 系统功能介绍 ............................................................................................................................................. 2
2.1系统主要工作流程图 ................................................................................................................................. 2
2.1.1 后台管理模块流程图 ..................................................................................................................... 2
2.1.2 前台管理模块流程图 ..................................................................................................................... 2
2.1.3 系统实现采用环境 ......................................................................................................................... 3
2.2 系统功能需求 ............................................................................................................................................ 3
第3章 功能的设计与实现 ..................................................................................................................................... 5
3.1 系统主要设计 ............................................................................................................................................ 5
3.1.1 系统主要功能 ................................................................................................................................. 5
3.1.2 主要功能模块 ................................................................................................................................. 5
3.2 数据库的分析与设计 ................................................................................................................................ 6
3.2.1 数据库的需求分析 ......................................................................................................................... 6
3.2.2 数据库的结构设计 ......................................................................................................................... 6
3.3.3 数据库的连接 ................................................................................................................................. 7
3.3 系统主要功能实现 ...................................................................................................................................11
3.3.1 注册页面的实现 ............................................................................................................................11
3.3.2 登录页面的实现 ........................................................................................................................... 14
3.3.3 会员购买页面的实现 ................................................................................................................... 16
3.3.4 管理员管理页面的实现 ............................................................................................................... 23
结 论 ....................................................................................................................................................................... 27
致 谢 ....................................................................................................................................................................... 28
参考文献 ................................................................................................................................................................. 29
沈阳工程学院课程设计报告 第1章 绪 论
第1章 绪 论
网上购物起源于七十年代,当时一些大公司通过建立自己的计算机网络实现各个机构之间、商业伙伴之间的信息共享,这个过程被称为EDI(电子数据交换)。EDIton通过传递标准的数据流可以避免人为的失误、降低成本、提高效率,估计在世界1---个最大的企业中95%以上的在使用这一技术。它过去是、现在也是网上购物的基础。
近年来,随着信息的全球化和国际互联网的普及化,越来越多的人想使用其无国界、无时间、无地域限制的便利环境来经营拓展商务。因此,网上购物成为互联网应用的最大热点,越来越多的企业通过使用网上购物技术进行商业上的交易以减少成本。当然,还有更多的公司想使用网络技术来架构一个虚拟的店面进行营业交易,企业与消费者通过网络完成交易,非但能使企业降低成本也可以让消费者在一个舒适的地点享受逛街与购物的乐趣。随着网上购物风潮的扩大,将会有更多的公司连上网络进行各项业务,而不只是将公司的产品介绍的网页放在网站上供人浏览而已。
随着因特网的不断发展和信息高速公路的逐步延伸,人类社会现今已昂首步入信息社会时代,而商品交易模式在不断的发生着变化。在社会化大生产以及社会分工日趋专业化的今天,网上购物无形的占据着主要地位。网上购物系统一般有商品管理、购物车管理、系统同管理和会员管理等要素组成,是一个网上交易的过程。其主要任务是交易各方以电子交易方式而不是通过当面交换或者之间面谈方式进行的任何形式的商业交易。显然,这与“网上购物”的概念和内容既有联系,又有明显的区别。他们设计的信息范围,服务功能以及社会意义等都不相同。网上购物系统搜集和管理的是特定的信息,其范围较窄,功能和目标比较明确、具体,主要是为特定的领域和机构的决策和管理服务;而信息管理则要对各类信息及其相关要素进行全方位管理,而对全社会开展信息服务,以便有效的满足社会的信息需求。
今天,大多数企业已经建立自己的网站介绍和销售他们的产品。您只要拥有一个计算机、浏览器、Internet连接和信用卡,今天就可以从网络上购买到书本、CD、鲜花、飞机票、电视、甚至是汽车。如今网上购物已经成为企业增加市场竞争力的一种重要的手段,同时使人民购物更加方便快捷。
1
沈阳工程学院课程设计报告 第2章 系统功能介绍
第2章 系统功能介绍
2.1系统主要工作流程图
2.1.1 后台管理模块流程图
该流程图描述了后台管理员对网站的管理,管理员可以对商品进行添加,修改,删除。具体的添加功能是通过本地浏览把商品上传到网站;修改商品信息或者删除商品等功能,如图
2.1所示。
图2.1 后台管理程序主要流程
2.1.2 前台管理模块流程图
本系统设计的初衷是会员可以享受网站的功能,未注册的游客只能浏览网站,不能进行其他操作。因此当用户在进入网站的一开始便会对用户的身份和权限进行验证,反馈不同的页面给不同的用户,从而实现对权限的划分功能。可在网站上在线购买商品、搜索商品等功 能。该流程图描述了商品购物网站的整个流程,如图2.2所示。
2
沈阳工程学院课程设计报告 第2章 系统功能介绍
图2.2 前台管理程序主要流程图
2.1.3 系统实现采用环境
1.
2.
3.
4. 操作系统:Microsoft Windows XP Professional 开发语言:JAVA;JSP 数据库系统:MySQL Server 开发平台:MyEclipse
2.2 系统功能需求
操作的简易实用性本系统是网上商品购物系统,针对的用户社会上所有的人们。因此操作的简易实用性就体现的尤其重要。在此系统的开发中就很好的体现了这一点,系统的界面美观,典雅,充满了人性化;用户操作起来也容易上手。对于一个网上商品购物系统而言,网上的商品的种类样式是很重要的,所以对系统的安全性有比较高的要求:对于数据库,要设置不同用
3
沈阳工程学院课程设计报告 第2章 系统功能介绍 户的权限,数据的修改必须由合法用户操作。
4
沈阳工程学院课程设计报告 第3章 功能的设计与实现
第3章 功能的设计与实现
3.1 系统主要设计
3.1.1 系统主要功能
1. 用户注册登录功能:只有登录注册后才能使用本网站功能;
2. 购物车:用来存放客户购物过程中选出的物品;
3. 浏览最新商品信息;了解到最新的商品新闻;
4. 搜索商品:搜索客户想要的商品;
5. 商品管理:后台管理员可以增、删、编辑商品信息;
3.1.2 主要功能模块
1、后台管理模块
该模块只对管理员开放,管理员可以对商品进行添加,修改,删除。具体的添加功能是通过浏览把商品上传到网站;修改商品信息或者删除商品等功能。如图3.1所示。
图3.1 后台管理模块
5
沈阳工程学院课程设计报告 第3章 功能的设计与实现
2、前台管理模块
该模块用户注册后即成为会员,就可在网站上在线购买商品、搜索商品等功能。详细模块的介绍如图3.2所示。
图3.2 前台管理模块
3.2 数据库的分析与设计
3.2.1 数据库的需求分析
本课题开发的数据库主要包括四个方面。
1. 会员注册数据表:存储会员注册时各种信息和账户的激活,充值,收货地址等信息
的数据表。
2. 商品数据表:商品基本参数信息,包括商品的出处,商品的生产日期,商品的性能
等的数据表。
3. 供货商数据表:供货商的基本参数信息,包括供货商的名称,地址,联系方式等的
数据表。
4. 订单信息数据表:用户购买商品的基本参数信息,包括订单号,收货人的基本信息,
配送地址等的数据表。
3.2.2 数据库的结构设计
1、会员信息表
该表有递增的流水号,用户名,密码,姓名,备注等。
6
沈阳工程学院课程设计报告 第3章 功能的设计与实现
表3.1 会员信息表
字段名称 ID UserName Pwd Email lName Remark
含义 递增的流水号 用户名 密码 Email 姓名 备注
数据类型 numeric varchar(20) varchar(20) varchar(50) varchar(20) varchar(100)
主键 是 否 否 否 否 否
2、商品信息表
该表有商品编号,商品名称,销售状态,备注等。
表3.2 商品信息表
字段名称 ID MerchandiseID MerchandiseCI
D
MerchandiseName Price SaleStatus
Remark
含义 递增的流水号 商品编码 商品类别编码 商品名称 商品价格 销售状态 备注
数据类型 int varchar(20)
varchar(10)
varchar(50)
money bit varchar(100)
主键 否 是 否 否 否 否 否
3.3.3 数据库的连接
数据库主要实现代码
数据库连接代码
package com.smms.jdbc;
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;
import java.sql.SQLException;
7
沈阳工程学院课程设计报告 第3章 功能的设计与实现
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.smms.bean.*;
public class DBConnection {
GetDataResource gdr = GetDataResource.getInstance();
private Connection con; private PreparedStatement ps; private ResultSet rs; public DBConnection() { gdr.read(); try { Class.forName(gdr.getDriver()); con = DriverManager.getConnection(gdr.getUrl(), gdr.getUsername(), gdr.getPassword()); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } public int execute(String sql,String filename,String uploadtime) { int rs=0; try { ps = con.prepareStatement(sql); ps.setString(1, filename); ps.setString(2, uploadtime); rs = ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } return rs;
8
沈阳工程学院课程设计报告 第3章 功能的设计与实现
} public int executeObject(String sql) { int rs=0; try { ps = con.prepareStatement(sql); rs = ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } return rs; } public List<UserInfo> search(String sql) { List<UserInfo> ls = new ArrayList<UserInfo>(); try { ps = con.prepareStatement(sql); rs = ps.executeQuery(); while (rs.next()) { UserInfo u = new UserInfo(); u.setUserid(rs.getInt(1)); u.setUsername(rs.getString(2)); u.setPassword(rs.getString(3)); u.setUserrole(rs.getInt(4)); ls.add(u); } } catch (SQLException e) { } e.printStackTrace(); return ls; } public List<GoodsInfo> displayGoods(int rows,int page) { String sql="select * from goodsinfo"; List<GoodsInfo> ls = new ArrayList<GoodsInfo>();
9
沈阳工程学院课程设计报告 第3章 功能的设计与实现
List<GoodsInfo> list = new ArrayList<GoodsInfo>(); try { ps = con.prepareStatement(sql); rs = ps.executeQuery(); while (rs.next()) { GoodsInfo u = new GoodsInfo(); u.setGoodsid(rs.getInt(1)); u.setGoodsname(rs.getString(2)); u.setGoodsprice(rs.getFloat(3)); u.setGoodsnum(rs.getInt(4)); u.setGoodsfactory(rs.getString(5)); ls.add(u); } int start = (page - 1) * rows; Iterator<GoodsInfo> it = ls.listIterator(start); int n = 0; while (it.hasNext() && n < rows) { list.add((GoodsInfo) it.next()); n++; } } catch (SQLException e) { e.printStackTrace(); } return list; } public List<Shoppingcart> cartGoods(String sql,int rows,int page) { List<Shoppingcart> ls = new ArrayList<Shoppingcart>(); List<Shoppingcart> list = new ArrayList<Shoppingcart>(); try { ps = con.prepareStatement(sql); rs = ps.executeQuery(); while (rs.next()) { Shoppingcart u = new Shoppingcart(); u.setGoodsid(rs.getInt(1)); u.setGoodsname(rs.getString(2));
10
沈阳工程学院课程设计报告 第3章 功能的设计与实现
}
} } u.setGoodsprice(rs.getFloat(3)); u.setNum(rs.getInt(4)); u.setCartid(rs.getInt(5)); ls.add(u); } int start = (page - 1) * rows; Iterator<Shoppingcart> it = ls.listIterator(start); int n = 0; while (it.hasNext() && n < rows) { list.add((Shoppingcart) it.next()); n++; } } catch (SQLException e) { e.printStackTrace(); } return list;
3.3 系统主要功能实现
3.3.1 注册页面的实现
在登录网页中,没有注册的用户只能浏览网页,会员注册之后才能购物。在注册页面中需要填写基本参数信息,如用户名,密码,真实姓名等。如图3.3所示。
主要代码如下:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
String path=request.getContextPath();
String un=request.getParameter("re_un");
String pw=request.getParameter("re_pw");
String phone=request.getParameter("re_ph");
String add=request.getParameter("re_ad");
11
沈阳工程学院课程设计报告 第3章 功能的设计与实现
System.out.println(un);
System.out.println(pw);
System.out.println(phone);
System.out.println(add);
DBConnection dbc=new DBConnection();
String sql="insert into userinfo values(null,'"+un+"','"+pw+"','0','"+phone+"','"+add+"')";
if(dbc.executeObject(sql)==1){
response.sendRedirect(path+"/login/login.jsp");
//request.getRequestDispatcher(p"/login/login.jsp").forward(request, response);
}else{
response.sendRedirect(path+"/user/error.jsp");
//request.getRequestDispatcher("/smms/user/error.jsp").forward(request, response);
}
package com.smms.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.smms.jdbc.DBConnection;
public class registerhandler extends HttpServlet {
public registerhandler() {
super();
}
public void destroy() {
super.destroy();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("utf-8"); String path=request.getContextPath(); String un=request.getParameter("re_un");
12
沈阳工程学院课程设计报告 第3章 功能的设计与实现
String pw=request.getParameter("re_pw"); String phone=request.getParameter("re_ph"); String add=request.getParameter("re_ad"); System.out.println(un); System.out.println(pw); System.out.println(phone); System.out.println(add); DBConnection dbc=new DBConnection(); String sql="insert into userinfo values(null,'"+un+"','"+pw+"','0','"+phone+"','"+add+"')"; if(dbc.executeObject(sql)==1){ response.sendRedirect(path+"/login/login.jsp"); //request.getRequestDispatcher(p"/login/login.jsp").forward(request, response); }else{ response.sendRedirect(path+"/user/error.jsp"); //request.getRequestDispatcher("/smms/user/error.jsp").forward(request, response); } } public void init() throws ServletException { }
图3.3 注册信息页面
13
沈阳工程学院课程设计报告 第3章 功能的设计与实现
3.3.2 登录页面的实现
注册成功后的会员可以登录系统,进行网上购物和浏览。如图3.4所示。
主要代码如下:
String un=request.getParameter("un");
String pw=request.getParameter("pw");
String flag=request.getParameter("role");
String sql="select * from userinfo where username='"+un+"' and password='"+pw+"' and userrole='"+flag+"'";
DBConnection dbc=new DBConnection();
HttpSession session=request.getSession();
if(dbc.search(sql).size()==1){
UserInfo ui=dbc.search(sql).get(0);
if(ui.getUserrole()==1){
session.setAttribute("role", ui.getUserid());
request.getRequestDispatcher("/admin/admin.jsp").forward(request, response);
}else{
session.setAttribute("role", ui.getUserid());
request.getRequestDispatcher("/user/display.jsp").forward(request, response);
}
}else{
String att="账号或密码";
request.setAttribute("att",att);
String path=request.getContextPath();
String basepath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
request.getRequestDispatcher("/user/error.jsp").forward(request, response);
}
package com.smms.controller;
import java.io.IOException;
import java.io.PrintWriter;
14
沈阳工程学院课程设计报告 第3章 功能的设计与实现 import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.smms.bean.UserInfo;
import com.smms.jdbc.DBConnection;
public class loginhandler extends HttpServlet {
public loginhandler() {
super();
}
public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String un=request.getParameter("un");
String pw=request.getParameter("pw");
String flag=request.getParameter("role");
String sql="select * from userinfo where username='"+un+"' and password='"+pw+"' and userrole='"+flag+"'";
DBConnection dbc=new DBConnection();
HttpSession session=request.getSession();
if(dbc.search(sql).size()==1){
UserInfo ui=dbc.search(sql).get(0);
if(ui.getUserrole()==1){
session.setAttribute("role", ui.getUserid());
request.getRequestDispatcher("/admin/admin.jsp").forward(request, response); }else{ session.setAttribute("role", ui.getUserid()); request.getRequestDispatcher("/user/display.jsp").forward(request, response); } }else{ String att="账号或密码"; request.setAttribute("att",att); String path=request.getContextPath();
15
沈阳工程学院课程设计报告 第3章 功能的设计与实现 String basepath
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
} } } request.getRequestDispatcher("/user/error.jsp").forward(request, response); = public void init() throws ServletException { }
图3.4 会员登录页
3.3.3 会员购买页面的实现
成功登录后,就可以进入到购买商品的页面,用户可以将所需要的商品添加到购物车中,可以选择所购买商品的数量,然后进入到购物车中结算商品,也可以将删除想要购买的商品。如图3.5—3.8所示。
主要代码如下:
String path=request.getContextPath();
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
int rows = Integer.parseInt(request.getParameter("rows"));
int page = Integer.parseInt(request.getParameter("page"));
PrintWriter out = response.getWriter();
DBConnection dbc=new DBConnection();
16
沈阳工程学院课程设计报告 第3章 功能的设计与实现
HttpSession session = request.getSession(); String un = session.getAttribute("role").toString();
String sql = "select goodsinfo.goodsid,goodsname,goodsprice,shoppingcart.buynum as num,cartid from goodsinfo,shoppingcart where goodsinfo.goodsid=shoppingcart.goodsid and userid='"+un+"'";
List<Shoppingcart> result= dbc.cartGoods(sql, rows, page); Tsum t=(Tsum) dbc.totalcartGoods(sql); session.setAttribute("price", t.getTprice()); String before = "{\"total\":" + t.getNm() + ",\"rows\":";
String data = gson.toJson(result);
before += data + "}";
out.print(before);
out.flush();
out.close();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session=request.getSession();
String un=session.getAttribute("role").toString();
String num=request.getParameter("num");
String goodsid=request.getParameter("id");
String sql="insert into shoppingcart value(null,"+un+","+goodsid+","+num+")";
String path = request.getContextPath();
DBConnection dbc=new DBConnection();
if(dbc.executeObject(sql)==1){
session.setAttribute("addtocar", "ok");
}else{
System.out.println("fall");
}
response.sendRedirect(path+"/user/display.jsp");
out.flush();
out.close();
17
沈阳工程学院课程设计报告 第3章 功能的设计与实现
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8"); int rows = Integer.parseInt(request.getParameter("rows")); int page = Integer.parseInt(request.getParameter("page")); PrintWriter out = response.getWriter(); DBConnection dbc=new DBConnection(); List<GoodsInfo> result= dbc.displayGoods(rows, page); String before = "{\"total\":" + dbc.getGoodsInfoTotalRecords() + ",\"rows\":"; String data = gson.toJson(result); before += data + "}"; out.print(before); out.flush(); out.close();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String path = request.getContextPath();
String cartid=request.getParameter("cartid");
String sql="delete from shoppingcart where cartid="+cartid;
DBConnection dbc=new DBConnection();
if(dbc.executeObject(sql)==1){
response.sendRedirect(path+"/user/buyingcar.jsp");
}
out.flush();
out.close();
package com.smms.controller;
import java.io.IOException;
import java.io.PrintWriter;
18
沈阳工程学院课程设计报告 第3章 功能的设计与实现 import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.smms.jdbc.DBConnection;
public class addbuycar extends HttpServlet {
public addbuycar() {
} super(); public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } public void doGet(HttpServletRequest request, HttpServletResponse response) } throws ServletException, IOException { doPost(request,response); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); HttpSession session=request.getSession(); String un=session.getAttribute("role").toString(); String num=request.getParameter("num"); String goodsid=request.getParameter("id"); String sql="insert into shoppingcart value(null,"+un+","+goodsid+","+num+")"; String path = request.getContextPath(); DBConnection dbc=new DBConnection(); if(dbc.executeObject(sql)==1){
19
沈阳工程学院课程设计报告 第3章 功能的设计与实现
} session.setAttribute("addtocar", "ok"); }else{ } System.out.println("fall"); response.sendRedirect(path+"/user/display.jsp"); out.flush(); out.close();
public void init() throws ServletException {
// Put your code here
}
}
package com.smms.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.google.gson.Gson;
import com.smms.bean.GoodsInfo;
import com.smms.bean.Shoppingcart;
import com.smms.bean.Tsum;
import com.smms.jdbc.DBConnection;
public class buyingcarhandler extends HttpServlet {
Gson gson = new Gson();
public buyingcarhandler() {
20
沈阳工程学院课程设计报告 第3章 功能的设计与实现
} super(); public void destroy() { } super.destroy(); // Just puts "destroy" string in log // Put your code here public void doGet(HttpServletRequest request, HttpServletResponse response) } throws ServletException, IOException { doPost(request, response); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path=request.getContextPath(); response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("utf-8"); int rows = Integer.parseInt(request.getParameter("rows")); int page = Integer.parseInt(request.getParameter("page")); PrintWriter out = response.getWriter(); DBConnection dbc=new DBConnection(); HttpSession session = request.getSession(); String un = session.getAttribute("role").toString(); String sql = "select goodsinfo.goodsid,goodsname,goodsprice,shoppingcart.buynum as num,cartid from goodsinfo,shoppingcart where goodsinfo.goodsid=shoppingcart.goodsid and userid='"+un+"'";
List<Shoppingcart> result= dbc.cartGoods(sql, rows, page);
Tsum t=(Tsum) dbc.totalcartGoods(sql);
session.setAttribute("price", t.getTprice());
String before = "{\"total\":" + t.getNm()
+ ",\"rows\":";
String data = gson.toJson(result);
21
沈阳工程学院课程设计报告 第3章 功能的设计与实现
}
} before += data + "}"; out.print(before); out.flush(); out.close(); public void init() throws ServletException { } // Put your code here
图3.5 会员购物页面
图3.6 修改购买数量
22
沈阳工程学院课程设计报告 第3章 功能的设计与实现
图3.7 会员购物车页面
图3.8 删除已选中物品
3.3.4 管理员管理页面的实现
后台管理只提供给管理员,用"admin"账号登录,进入后台管理,如图3.9所示.
23
沈阳工程学院课程设计报告 第3章 功能的设计与实现
图3.9 管理员登录页面
后台管理员可以对商品进行增加,编辑,删除。商品可以上传到购物网站的首页,供客户浏览选购。如图3.10所示。
图3.10 管理员管理界面
主要代码如下:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
DBConnection dbc = new DBConnection();
String pageid = request.getParameter("pageid");
String sql = "select distinct orderid,date,orders.goodsname,orders.goodsprice,orders.goodsnumber,o
24
沈阳工程学院课程设计报告 第3章 功能的设计与实现 rders.goodsfactory,userinfo.username from goodsinfo,orders,userinfo where orders.userid=userinfo.userid and flag="+pageid;
List<Orderin> result = dbc.admin(sql);
String before = "{\"total\":" + dbc.admin(sql).size() + ",\"rows\":";
String data = gson.toJson(result);
before += data + "}";
out.print(before);
out.flush();
out.close();
package com.smms.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
import com.smms.bean.Orderin;
import com.smms.jdbc.DBConnection;
public class admin extends HttpServlet {
Gson gson = new Gson(); public admin() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("utf-8"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); DBConnection dbc = new DBConnection(); String pageid = request.getParameter("pageid");
25
沈阳工程学院课程设计报告 第3章 功能的设计与实现 String sql = "select distinct orderid,date,orders.goodsname,orders.goodsprice,orders.goodsnumber,orders.goodsfactory,userinfo.username from goodsinfo,orders,userinfo where orders.userid=userinfo.userid and flag="+pageid; List<Orderin> result = dbc.admin(sql);
String before = "{\"total\":" + dbc.admin(sql).size() + ",\"rows\":";
}
} String data = gson.toJson(result); before += data + "}"; out.print(before); out.flush(); out.close(); public void init() throws ServletException { }
26
沈阳工程学院课程设计报告 结 论
结 论
本文简要介绍了网上购物系统的主要功能及体系结构,重点讨论了系统数据准备,数据库的逻辑结构分析,SSH与后台数据库链接等关键技术。这些技术的实现满足了系统的需要,优化了系统的性能。目前基于该模型的系统处于试运行阶段,还存在许多问题与不足,如安全性能还不完善,缺少网上支付认证加密系统等。因此在今后的工作里这些功能与技术还需要加以提高和实现。
网上购物系统无论是在开发过程中,还是在建成后的日常维护过程中,都需要进行严格的检测,以保证购物系统的服务质量。
建议网上购物系统应注意以下三点:
1. 把握好商品质量和宣传内容环节。
2. 提供的商品必须是货真价实的优质产品而决非假冒伪劣。
3. 产品宣传广告内容应健康真实,既要反映客观事物又要有欣赏价值。
服务功能的检测:
网上购物系统不仅要把好进货关,而且由于网上购物系统提供的是虚拟的电子商品,包含的信息量大,多分支,多链接,多媒体,所有网上购物系统的服务检测就显得格外重要。对虚拟电子商品的审查,首先要进行内容正确行测试。如文字录入的错误,参照图像的错误等都会降低用户对上品的信任度。
进行系统功能的测试。购物系统所有功能是否能正确执行,有无死机或其他异常情况发生,交互手段是否能满足用户需求。
对系统的执行效率进行测试。测试系统对大量数据的检索效率,数据的装载时间及对鼠标的反应速度等。
网上客户身份的确认对网上购物中心来说是一个非常关键的环节,稍有疏漏将会造成巨大的损失。用户身份确认包括用户真实身份和信用两方面。
网上购物系统服务的另一个重要环节就是商品的配送。快速迅捷的配送系统能保证用户购买的商品及时送达,在用户心目中树立良好的企业形象,增强用户对网上购物的优势日趋明显,会有更多的人参与到网上购物的浪潮中来,人类最终将迎接电子商务时代的来临。
27
沈阳工程学院课程设计报告 致 谢
致 谢
从接受课题到现在完成课程设计论文,导师给予了精心的指导和热情的帮助,尤其在课题设计的前期准备阶段和本人的数据库的设计阶段,导师提出许多宝贵的设计意见,在最后的测试修改阶段老师在百忙之中抽出时间为我们提供了必要的帮助,这样使得我们得以顺利的完成课程设计开发工作,在短暂的几个月的相处时间里,老师渊博的知识、敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益,谨此向老师表示衷心的感谢和崇高的敬意。同时我也感谢我的同组同学在这次课程设计中的支持和帮助。
28
沈阳工程学院课程设计报告 参考文献
参考文献
[1] Michael Kofler . MySQL 5 权威指南[M]. 北京邮电出版社,2006
[2] 曾顺. 精通CSS+DIV网页样式与布局[M]. 人民邮电出版社,20xx年11月.
[3] Bear Bibeault,Yehuda Katz. jQuery实战[M]. 人民邮电出版社,20xx年2月.
[4] 田宇. B2C网上商城后台管理模块的设计与实现[D]. 北京:北京工业大学. 2007.
[5] 萨师煊, 王珊. 数据库系统设计(第三版)[M]. 北京: 高等教育出版社, 2004.
[6] 孙卫琴. 基于MVC的JavaWeb设计与开发[M]. 北京: 电子工业出版社, 2004.
[7] 李峰, 晁阳. JavaScript开发技术详解[M]. 北京:清华大学出版社,2009.
[8] 兰旭辉 熊家军基于MySQL的应用程序设计[M]. 计算机工程与设计2004 25(3).
[9] 黄维通.ASP.数据库开发技术.[M]北京:清华大学出版社,1998.
[10] 孙卫琴《Tomcat 与 JSP Web 开发技术详解》.电子工业出版社,20xx年6月:1-205
[11] 耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,20xx年5月1日:1-354
[12] 王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,2004.6.
[13] 柳永坡,刘雪梅,赵长海.JSP应用开发技术[M].北京:人民邮电出版社,2005:30-32.
29
大学本科生毕业设计论文开题报告及任务书大学本科毕业设计论文进度表大学本科毕业设计论文评审答辩表注1论文等级分优85分良8475分中…
毕业设计论文开题报告题目基于jsp的网上购物商场系统的设计与实现学院专业学生姓名学号指导老师20xx年03月20日毕业设计论文开题…
5Q设计网本科毕业论文设计开题报告论文题目网上购物系统的JSP实现学院专业班级计算机科学与技术网络052学生姓名指导教师职称20x…
中北大学信息商务学院毕业设计开题报告学生姓名学院系专业设计题目指导教师20xx年3月1日王春雨学号10060642X22计算机科学…
网购的市场调研报告内容摘要电子商务经历了十多年的沉浮泡沫被吹掉又出现大型网站快速扩张又迅速倒闭在大浪淘沙的过程中市场整体的目标受众…
关于大学生网购情况调研报告一摘要作为新时期的大学生网络在我们生活中具有不可或缺的重要地位网上购物已经从以前遥不可及的状态变成了当今…
调查报告大学生网络购物情况调查北京化工大学北方学院班级会计1117姓名张伟学号11033052820xx年9月19日1目录摘要1调…
大学生网购调研报告撰写人向洁萍班级09电商3班20xx年6月4日日期大学生网购调查报告一调查背景进入21世纪互联网和通讯技术高速的…
在校大学生网上购物情况调查问卷亲爱的同学您好我们正在做一个关于大学生网上购物情况的问卷调查本调查旨在了解大学生对网络购物的看法发现…
1.针对超市,我们采访了如下问题:i.每天内物流的高峰期时间段;ii.在超市内需要导购的顾客占多大比重;iii.超市导购员的工作是…