JSP课程设计报告
- 格式:docx
- 大小:145.81 KB
- 文档页数:16
黔南民族师范学院计算机科学系《JSP程序设计》课程设计报告题目:模拟购物车_________________专业:信息管理与信息系统__________班级: ________________________________姓名: __________________________________学号: ________________________________同组人员: _______________________________指导老师: ________________________设计时间:2015年6月22日~ 2015年7月7日《JSP程序设计》课程设计报告书 (1)1.课程设计计划 (3)2.系统需求分析与功能设计 (3)3.总体设计 (4)4.数据库设计 (5)5.程序模块设计 (6)6.技术难点与分析 (10)7.系统测试 (11)8.心得体会 (13)9.参考文献 (14)1.课程设计计划2015年6月24日至2015年6月31日,进行需求分析和功能设计;2015年7月1日,总体设计;2015年7月2日至2015年7月4日,数据库设计和程序模块设计;2015年7月5日至2015年7月7日,系统实施和系统测试。
2.系统需求分析与功能设计需求分析:淘宝、京东、苏宁易购等都是知名度很大的电子商务网站,而对于电子商务网站来说一个很重要的组成部分便是网络购物车,要求利用html、jsp、MySQL数据库等知识点,结合相关设计模式、以及软件工程的相关知识,设计一个网络购物车,用于记录不同客户的购物订单,主要功能是记录和操作不同客户的网上购物信息。
功能设计:1.显示商品展示界面、操作成功(或失败)界面、购物车展示界面等界面; 2.商品信息存储在数据库中;3.对商品信息能够进行查询、修改、删除、清空等操作; 4.在浏览器中输入访问信息进行访问;6.购物信息分页显示。
简单的数据流图:购物车的简单功能有:添加商品到购物车、查看购物车、删除商品、清空购物车中的商品Cart 表Shows 表5. 程序模块设计1. 数据库连接模块本系统使用的数据库为MySQL 将数据库的驱动类库安装到系统后就可以编写数据库 连接。
<%II 装载MySQL5.5的JDBC 驱动Class.forName( "com.mysql.jdbc.Driver").n ewl nsta nce();II 建立数据库连接 Stri ng url="jdbc:mysql://localhost:3306/che nhon gfei?user=root&password=123&use Un icode=true&c haracterE ncodi ng=gb2312" ;Conn ecti on conn= DriverMa nager.getC onn ecti on( url);II 建立一个 Statement对象,用于执行 SQL 语句Stateme nt stat = conn. createStateme nt();II 执行查询并得到查询结果 String sql ="select * from shows";ResultSet rs = stat.executeQuery(sql); %>2. 商品在线购物模块提供商品的信息,可以选择加入购物车(index.jsp )<body ><h2 >在线购物<I h2 > <hr ><table border ="1" width ="600" ><tr bgcolor ="#dddddd" ><td align ="center" >商品摘要 <I td ><td align ="center" width ="100" >在线购买 </ td ><I tr > <%String bm,name,price,info,img;II 将查询结果集中的记录输出到页面上 while (rs. next()){II 从当前记录中读取各字段的值 II img = rs.get("SP_PIC").trim();"SP_NO").trim();"SP_NAME").trim(); "SP_PRICE" ).trim(); "SP_INFO" ).trim();out.pri ntln( "<tr>");IIout.println("<td><img src='"+ img +"' border=0 height=25psbm = rs.getStri ng( n ame = rs.getStri ng( price = rs.getStri ng( info = rs.getStriwidth=60ps>v/td>");out.pri ntl n( "<td>");out.pri ntl n( "商品编号:"+ bm + "<br>");out.pri ntl n( "商品名称:"+ name + "<br>");out.pri ntl n( "商品价格:"+ price + "元<br>");out.pri ntl n( "商品简介:"+ info + "<br>");out.pri ntl n( "</td>");out.pri ntl n( "<td><a href='buy.jsp?op=add&bm=" +bm+"'> 放入购物车v/a></td>");"</tr>");out.pri ntl n(}3.购物车模块(cart.jsp)查看购物车里的东西,并且可以删除不喜欢的商品,也可以继续添加商品。
vbody ><h2>我的购物车</ h2 ><hr ><table border ="1" width = :"600" ><tr bgcolor ="#dddddd" ><td alig n ="ce nter" width ="80" >商品名称</ td ><td alig n ="ce nter" >商品单价</ td >购买数量</ td ><td alig n ="ce nter" width ="100" ><td alig n ="ce nter" width ="100" > 金额</ td >编辑</ td ><td alig n ="ce nter" width ="100" ></ tr ><%String id,name,price,num,count;//将查询结果集中的记录输出到页面上while (rs. next()){//从当前记录中读取各字段的值id = rs.getStri ng( "ID" ).trim();n ame = rs.getStri ng( "SP_NAME").trim();price = rs.getStri ng( "SP_PRICE" ).trim();num = rs.getStri ng( "BUY_NUM").trim();cou nt = rs.getStri ng( "COUNT" ).trim();out.pri ntl n( "<tr>");out.pri ntl n( "<td>" + name + "</td>");out.pri ntl n( "<td>" + price + "</td>");out.pri ntl n( "<td> <in put type=text value=" + num + "on Cha nge=\"updateNum('" +id+ " ,this.value,'" +price+ "')\"></td>" );out.pri ntl n( "<td>" + count + "</td>");退回商品架out.pri ntl n( "<td><a href='buy.jsp?op=de l&id=" +id+ "'>//关闭数据库连接conn. close();//重定向到购物车页面resp on se.se ndRedirect(}"cart.jsp" );//更改商品的数量if (op.equals( "update" )){int id = In teger.parsel nt(request.getParameter( "id"));int num = In teger.parseI nt(request.getParameter( "n um"double price=Double.parseDouble(request.getParameter(sql = "update cart set BUY_NUM = ?, COUNT = ? where ID=?" )); "price"));pstat = conn .prepareStateme nt(sql);pstat.setI nt(1, num);pstat.setStr in g(2,pstat.set In t(3,id);pstat.executeUpdate();pstat.close(); conn.close();new Double(price*num).toString());resp on se.se ndRedirect( "cart.jsp" );}//将商品退回到商品架(将商品从购物车中删除)if (op.equals( "del" )){int id = In teger.parseI nt(request.getParameter( "id"));sql = "delete from cart where ID=?"pstat = conn .prepareStateme nt(sql);pstat.setI nt(1,id);pstat.executeUpdate();pstat.close();conn. close();resp on se.se ndRedirect( "cart.jsp" );}//清空购物车if (op.equals( "clear" )){sql = "delete from cart" ;pstat = conn .prepareStateme nt(sql);pstat.executeUpdate();pstat.close();conn. close();resp on se.se ndRedirect(}"cart.jsp" );6.技术难点与分析1、加载数据库驱动类库的时候一直没有成功,后来发现是自己的方法不对,在同学的帮助下最终实现了数据库的连接;2、数据库表中添加图片的那列在运行的过程中实现不了,总是出现乱码,至今也内解决问题;3、我做的购物车实现的功能很简单,没有太多复杂的技术手段,就是增删查改的代码比较难一点,其他都基本上是使用 Web技术。