JSP课程设计报告.docx
《JSP课程设计报告.docx》由会员分享,可在线阅读,更多相关《JSP课程设计报告.docx(15页珍藏版)》请在冰豆网上搜索。
JSP课程设计报告
JSP课程设计报告
黔南民族师范学院
计算机科学系
《JSP程序设计》课程设计报告
题目:
模拟购物车
专业:
信息管理与信息系统
班级:
姓名:
学号:
同组人员:
指导老师:
设计时间:
6月22日~7月7日
1.课程设计计划
6月24日至6月31日,进行需求分析和功能设计;
7月1日,总体设计;
7月2日至7月4日,数据库设计和程序模块设计;
7月5日至7月7日,系统实施和系统测试。
2.系统需求分析与功能设计
需求分析:
淘宝、京东、苏宁易购等都是知名度很大的电子商务网站,而对于电子商务网站来说一个很重要的组成部分便是网络购物车,要求利用html、jsp、MySQL数据库等知识点,结合相关设计模式、以及软件工程的相关知识,设计一个网络购物车,用于记录不同客户的购物订单,主要功能是记录和操作不同客户的网上购物信息。
功能设计:
1.显示商品展示界面、操作成功(或失败)界面、购物车展示界面等界面;2.商品信息存储在数据库中;3.对商品信息能够进行查询、修改、删除、清空等操作;4.在浏览器中输入访问信息进行访问;6.购物信息分页显示。
简单的数据流图:
3.总体设计
购物车的简单功能有:
添加商品到购物车、查看购物车、删除商品、清空购物车中的商品
4.数据库设计
ER图设计如下:
Cart表
字段名
字段描述
类型
长度
备注
ID
编号
int
11
自动增长
SP_NAME
商品名称
varchar
50
SP_PRICE
商品价格
double
BUY_NUM
买的数量
int
11
COUNT
总价格
varchar
50
Shows表
字段名
字段描述
类型
长度
备注
SP_NO
商品编号
varchar
20
SP_NAME
商品名称
varchar
50
SP_PRICE
商品价格
double
SP_INFO
商品信息
varchar
200
5.程序模块设计
1.数据库连接模块
本系统使用的数据库为MySQL,将数据库的驱动类库安装到系统后就能够编写数据库连接。
<%
//装载MySQL5.5的JDBC驱动
Class.forName("com.mysql.jdbc.Driver").newInstance();
//建立数据库连接
Stringurl="jdbc:
mysql:
//localhost:
3306/chenhongfei?
user=root&password=123&useUnicode=true&characterEncoding=gb2312";
Connectionconn=DriverManager.getConnection(url);
//建立一个Statement对象,用于执行SQL语句
Statementstat=conn.createStatement();
//执行查询并得到查询结果
Stringsql="select*fromshows";
ResultSetrs=stat.executeQuery(sql);
%>
2.商品在线购物模块
提供商品的信息,能够选择加入购物车(index.jsp)
在线购物
商品摘要
在线购买
<%
Stringbm,name,price,info,img;
//将查询结果集中的记录输出到页面上
while(rs.next()){
//从当前记录中读取各字段的值
//img=rs.get("SP_PIC").trim();
bm=rs.getString("SP_NO").trim();
name=rs.getString("SP_NAME").trim();
price=rs.getString("SP_PRICE").trim();
info=rs.getString("SP_INFO").trim();
out.println("
");//out.println("
| ");out.println("
"); out.println("商品编号: "+bm+" "); out.println("商品名称: "+name+" "); out.println("商品价格: "+price+"元 "); out.println("商品简介: "+info+" "); out.println(" | ");out.println("
op=add&bm="+bm+"'>放入购物车 | ");out.println("
");
}
3.购物车模块(cart.jsp)
查看购物车里的东西,而且能够删除不喜欢的商品,也能够继续添加商品。
我的购物车
商品名称
商品单价
购买数量
金额
编辑
<%
Stringid,name,price,num,count;
//将查询结果集中的记录输出到页面上
while(rs.next()){
//从当前记录中读取各字段的值
id=rs.getString("ID").trim();
name=rs.getString("SP_NAME").trim();
price=rs.getString("SP_PRICE").trim();
num=rs.getString("BUY_NUM").trim();
count=rs.getString("COUNT").trim();
out.println("
");out.println("
"+name+" | ");out.println("
"+price+" | ");out.println("
| ");out.println("
"+count+" | ");out.println("
op=del&id="+id+"'>退回商品架 | ");out.println("
");
}
%>
继续购物
op=clear">清空购物车
functionupdateNum(id,num,price){
varurl="buy.jsp?
op=update&id="+id+"&num="+num+"&price="+price;
window.location=url;
}
5.增删查改的功能模块
增删查改的功能嵌套在buy.jsp里,实现对商品的添加、删除、修改、查询的功能。
if(op.equals("add")){
//从商品库中取出所选购商品的数据
Stringbm=request.getParameter("bm");
Stringname=null,price=null;
sql="select*fromshowswhereSP_NO=?
";
pstat=conn.prepareStatement(sql);
pstat.setString(1,bm);
rs=pstat.executeQuery();
if(rs.next()){
name=rs.getString("SP_NAME").trim();
price=rs.getString("SP_PRICE").trim();
}
rs.close();
pstat.close();
//将所选购商品加入到购物车中
sql="insertintocart(SP_NAME,SP_PRICE,BUY_NUM,COUNT)values(?
?
?
?
)";
pstat=conn.prepareStatement(sql);
pstat.setString(1,name);
pstat.setString(2,price);
pstat.setInt(3,1);
pstat.setString(4,price);
pstat.executeUpdate();
pstat.close();
//关闭数据库连接
conn.close();
//重定向到购物车页面
response.sendRedirect("cart.jsp");
}
//更改商品的数量
if(op.equals("update")){
intid=Integer.parseInt(request.getParameter("id"));
intnum=Integer.parseInt(request.getParameter("num"));
doubleprice=Double.parseDouble(request.getParameter("price"));
sql="updatecartsetBUY_NUM=?
COUNT=?
whereID=?
";
pstat=conn.prepareStatement(sql);
pstat.setInt(1,num);
pstat.setString(2,