当前位置:文档之家› 基于JSP网上书店设计(含源文件)

基于JSP网上书店设计(含源文件)

基于JSP网上书店设计——在线购书模块设计与实现摘要本课题主要设计一个基于JSP技术网上书店管理系统。

在课程设计中,系统开发平台为Windows XP,该系统页面设计采用了HTML,与JSP逻辑处理页面相连接,数据库采用Access2003,程序运行平台为Windows XP。

对于网上书店设计,在程序设计中,采用了JSP技术。

程序通过测试运行,初步实现了设计目标,在以后的过程中逐步完善,将可以应用在商业中解决实际问题。

关键词在线购书;数据库;Access;JSP1 引言当今世界随着Internet,Web数据库越来越广泛的应用,全球信息化浪潮一浪高过一浪。

在此形势下,电子商务发展迅猛,其中网上书店就是在这潮流中比较有代表意义的产物。

网上书店较之传统的书店具有成本低、灵活性高、可扩展性等优点。

网上书店的经营模式已经成为企业在商场上克敌制胜的关键技术,赢得了越来越多的客户。

网上消费目前已经被公认为现代商业的发展方向,这是一个发展潜力巨大的市场,具有诱人的发展前景。

1.1 课题开发意义通过设计中,学习如何将Java语言嵌入到HTML页面中,生成JSP网页,从而达到掌握动态网页设计的目的。

另一方面,在基于JSP技术设计网上书店中要用到数据库相关知识,其中怎样通过数据源访问数据库,建立连接,以及在建立连接后,如何对数据库进行查询筛选,这些都是我们需要通过课程设计要掌握的。

2问题描述2.1概述基于就JSP技术设计一个网上购书系统。

2.2需求分析所开发的网上购书系统,技术才用现在最流行的JSP动态网页技术,该技术安全,跨平台,具有一次编译,到处运行的特点。

同时提供了防止内存泄露的方法。

网上书店较之传统的书店具有成本低、灵活性高、可扩展性、及时性等优点。

任何一名想要够书的顾客,不需出门只用在浏览器使用鼠标和键盘就可买到自己想要的书籍。

该系统实现了身份认证的功能,任何一名想要购书的在线顾客,必须先注册成为网站会员,才能拥有购买的权限,用户可以在登陆后,购买页面中出现的书籍,只需输入购买的数量,然后点击放入购物车按钮。

用户可以在查看自己购物车中书籍的同时,删除自己不需要的书籍,只需在您不需要的书籍后面的删除按钮点击一下,就可以把书籍移出购物车。

最后在购物单中查看您的所购书籍的总金额。

而普通浏览者只拥有基本页面浏览及查询的权限,普通浏览者还可以对本网站进行投票,本站管理员将对这些反馈信息进行整理,对网站做进一步的完善。

本系统的用例图(见图一)。

会员删除删除会员信息(from Logical View)(from Logical View) (from Logical View)会员普通浏览者图一3设计流程3.1功能划分(见图二)图二3.2组成文件清单系统所用文件的数量较多,相对常用的如表一所示。

常用文件表一3.3网页执行流程(见图三)图三4数据库设计数据库名称:db8 是否为新hw_new true/falseMember表(会员表)序号子段含义字段名类型宽度是否主码是否非空1 用户ID user_id Int PK2 用户名user_name VChar 203 用户密码user_pass VChar 204 用户邮箱user_email VChar。

205 用户地址user_address VChar 206 用户名字user_namec VChar 20Basket表(购物篮表)序号子段含义字段名类型宽度是否主码是否非空1 购物篮ID basket_id Int PK2 书本ID hw_id VChar 203 用户名user_name VChar 20basket_data DateTime 204 购物篮日期5 书本名hw_name VChar 206 书价hw_cash VChar 205在线购书模块设计5.1 在线购书界面设计(见图四)图四在线购书推荐功能实现源代码<%sql="select top 10 * from hw where tuijian=-1 order by hw_id DESC";rs=mdb.executeQuery(sql);if(!rs.next()){%><td width="128" valign="top" align="left" bgcolor="#FFFFFF"><divalign="center"> <span class="style1">暂且没有推荐商品</span><br></div></td><%}else{ int hwid=0,i=0;rs.previous();while(rs.next()){i=i+1;hwid=rs.getInt("hw_id");%><td width="50%"> <br><span class="style1">图书名称:<%=rs.getString("hw_name")%> </span><br><a href="views.jsp?hw_id=<%=hwid%>"> <img border="0"src="<%=rs.getString("hw_pic")%>" width="63" height="83" vspace="6"></a> <br> <span class="style1">价格:<%=rs.getInt("hw_cash")%>元<a target="_blank"href="views.jsp?hw_id=<%=hwid%>">详情</a><a href='javascript:openbag(<%=hwid%>)'>定购<img border="0"src="image/buy.gif" width="45" height="16"></a> </span> </td><%if(i%2==0&i>=2){%></tr><tr><%}if(i>=4){break;}}}%>5.2购物车界面设计(见图五)图五购物车功能实现源代码<%! int Cint(String cint){ try{ int n;n= Integer.parseInt(cint);return n;}catch (NumberFormatException e){return 0;}}%><%! String getStr(String str){try { String temp_p=str;byte[] temp_t=temp_p.getBytes("ISO8859-1");String temp=new String(temp_t);return temp;}catch(Exception e) {e.printStackTrace();return null; }}%><%String user_name=(String)session.getValue("user_name");String user_type=(String)session.getValue("user_type");if(user_name!=null){%><%=user_name%>的购物车<%}else{out.print("购物车");}%> <%String hw_cashs,basket_count,sql,hw_name;int hw_cash,jiage,count,totalcash=0;if(user_name==null){out.print( "1.你尚未登录!请登录后再订购本站商品!");out.print("<br>2.如果您是第一次来本站,请先注册成为本站会员!"); %><a href=# class="style1" onClick="javasrcript:window.close();"><span class="style1">关闭窗口</span></a><%}elseint hw_id;String hw_ids=request.getParameter("hw_id");if(hw_ids==null){out.print("没有该书");}elsehw_ids.trim();ResultSet rs;int daili;hw_id=Cint(hw_ids);sql="select * from hw where hw_id="+hw_id;rs=mdb.executeQuery(sql);if(rs.next()){hw_cash=rs.getInt("hw_cash");daili=rs.getInt("daili");hw_name=rs.getString("hw_name");%><%if(user_name==null){out.print( "<br>");out.print( "1.你尚未登录!请登录后再订购本站商品!");out.print( "<br>2.第一次来本站,请先注册会员!");out.print( "<br>");out.print( "<br>");}else{if(action!=null){if(action.equals("buy")){if(counts==null){counts="1";}if(hw_cashs==null){hw_cashs="1000";}if (hw_ids==null){out.print("没有此货物!");}sql="select * from basket where hw_id='"+hw_ids+"' anduser_name='"+user_name+"' and basket_check=false";rs=mdb.executeQuery(sql);if(!rs.next()){sql="insert intobasket(hw_id,user_name,basket_count,hw_name,hw_cash)";sql=sql+"values('"+hw_ids+"','"+user_name+"','"+counts+"','"+hw_name+"','"+hw_cashs+"')";mdb.executeInsert(sql);}else{rs.previous();basket_count="0";if(rs.next()){basket_count=rs.getString("basket_count");}count=Cint(basket_count);int duoyu=Cint(counts);count=count+duoyu;rs.previous();if(rs.next()){rs.updateString("basket_count",Integer.toString(count));rs.updateRow();}}} %>5.3收银台界面设计(见图六)图六收银台模块源代码<%String count="";String hw_id="";if(request.getParameter("action")=="buy"){if(request.getParameter("count")==""){int intcount=1;count=Integer.toString(intcount);}elsecount=request.getParameter("count");if(request.getParameter("hw_id")=="")out.print("没有此货物!");else{hw_id=request.getParameter("hw_id");String sql="select * from basket where hw_id='"+hw_id+"' anduser_name='"+(String)session.getValue("user_name")+"' andbasket_check=false";ResultSet rs;rs=mdb.executeQuery(sql);if(!rs.next()){String sql1="insert intobasket(hw_id,user_name,basket_count,hw_name,hw_cash,user_type)values('"+hw_id+"','"+session.getValue("user_name")+"','"+count+"','"+request.getParameter("hw_name")+"','"+request.getParameter("hw_cash")+"','"+request.getParameter("user_type")+"') wherehw_id='"+hw_id+"' anduser_name='"+session.getValue("user_name")+"' andbasket_check=false";mdb.executeInsert(sql1);}else{//rs("basket_count")=int(rs("basket_count"))+int(count)rs.next();int basket_count=Integer.parseInt(rs.getString("basket_count"));basket_count=basket_count+Integer.parseInt(count);String basket_count2=Integer.toString(basket_count);String sql2="update basket set basket_count='"+basket_count+"'";mdb.executeUpdate(sql2);}}mdb.Close();%>6 测试点击在线订购按钮后进入购物车页面(见图七)图七选者订购数量后,点击确定按钮出现已购书籍信息(见图八)图八单击收银台付款按钮后,进入收银台界面图九7 结束语本网上书店在操作方面简单、快捷给顾客在购买时带来很大方便,但是在客户反馈方面做的还不够,不能有效收集客户意见和建议,日后本管理系统还要加入客户留言的板块,第一时间听取客户心声。

相关主题