书签 分享 收藏 举报 版权申诉 / 16

类型网上书店系统课程设计.docx

  • 文档编号:3221448
  • 上传时间:2023-05-05
  • 格式:DOCX
  • 页数:16
  • 大小:1.19MB

<%

Conncon=null;

try

{

StringcomSql="";

if(request.getParameter("sort")!

=null)

comSql+=sql+"andbookCommend='inSort'";

else

comSql+=sql+"wherebookCommend='inAll'";

comSql+="orderbybookSolddesc";

con=newConn();

PageablersCom=con.getRs(comSql);

rsCom.setPageSize(10);

rsCom.gotoPage

(1);

for(inti=0;i

{

if(sort==null)

{

%>

sort=<%=rsCom.getString("bookSort")%>'>[<%=rsCom.getString("bookSort")%>]

<%

}

%>

id=<%=rsCom.getString("bookId")%>'><%=rsCom.getString("bookTitle")%>  

<%=rsCom.getString("bookAuthor")%>  

<%=rsCom.getString("bookDate").substring(0,10)%>

<%

rsCom.next();

}

con.closeRs();

}catch(Exceptione){out.print(e.toString());}

%>

4.3订单处理文件deal-order.jsp的部分代码—1。

函数声明。

<%@pagelanguage="java"contentType="text/html;charset=gb2312"import="java.sql.*,myPk.*"%>

<%request.setCharacterEncoding("gb2312");%>

<%!

/*订单(session) order 形如 -bookId,buyNum-bookId,buyNum-,

依次为  -图书编号,购买数量-图书编号,购买数量-*/

/* 如果字符串 str 的长度小于 n ,则在其左边填充足够的 * 号,使其长度为 n 。

<-左,右->*/

publicStringappString(Stringstr,intn)

{

intstrLen=str.length();

if(strLen>=n)

returnstr;

StringsTem="";

StringsBlank="*";

for(inti=0;i<(n-strLen);i++)

sTem+=sBlank;

sTem+=str;

returnsTem;

}

/* 将 str 以 - 为标志分段,于各小段中再以 , 分为两段(形如段a,段b),在每个段a的左边填充 * 号,使每个段a的长度均为 n */

publicStringappLongStr(Stringstr,intn){

String[]sTem=str.split("-");

StringsRet="";

for(inti=0;i

String[]splitByDot=sTem[i].split(",");

splitByDot[0]=appString(splitByDot[0],n);

sTem[i]=splitByDot[0]+","+splitByDot[1];

}

if(sTem.length==1)

returnsTem[0];

for(inti=0;i<(sTem.length-1);i++)

sRet+=sTem[i]+"-";

sRet+=sTem[sTem.length-1];

returnsRet;

}

%>

4.4订单处理文件deal-order.jsp的部分代码—2。

放弃购物车中的指定书本。

<%

if(act.equals("del")){

//将某书从购物车中移除

if(sOrderSession.indexOf("-")==-1)

sTem="";//删除的是sessionorder中仅有的一个记录项

else{

sSessionLeft=sOrderSession.substring(0,sOrderSession.indexOf(bookId+","));

sSessionRight=sOrderSession.substring(sOrderSession.indexOf(bookId+","));

if((sSessionLeft.indexOf("-")==-1)&&(sSessionRight.indexOf("-")!

=-1))

sTem=sSessionRight.substring(sSessionRight.indexOf("-")+1);//删除的是sessionorder中最左的记录项。

elseif((sSessionLeft.indexOf("-")!

=-1)

&&(sSessionRight.indexOf("-")==-1))

sTem=sSessionLeft.substring(0,sSessionLeft.lastIndexOf("-"));//删除的是sessionorder中最右的记录项

else

sTem=sSessionLeft.substring(0,sSessionLeft.lastIndexOf("-"))+sSessionRight.substring(sSessionRight.indexOf("-"));//删除的是sessionorder中间位置的记录项

}

}//if(act.equals("del")

%>

5.运行结果。

5.1首页。

5.2智能图书搜索。

搜索栏的输入框的下边有相应搜索方式的热门搜索关键词。

可分别按作者、书名、出版社搜索图书,同时支持模糊搜索,如,按“出版社”搜索“长江[空格]人民”可搜索到出版社名字中含有“长江”、“人民”的图书(全图)。

5.3购物车。

5.4订单列表。

5.5论坛。

5.6添加图书。

5.7管理图书。

6.总结。

伴随着第一场雪的降临,这个课程设计才接近了尾声。

在这次课程设计里,可以说是全身心地投入,――正式开始动工之前,有很多关于网站架设的想法,觉得网站无非就是数据库+标签,真正下手后,深刻体会到了其中的艰辛,特别是当第一场雪哗啦啦地下下来,而我却不得不坐在电脑前继续调试时。

虽然没能赶在第一场雪的时候去堆雪人,不过现在看着埋头做了一个多星期的设计结果,有点苦尽甘来的味道。

这次的课程设计,有两个方面的收获,一个是心态,一个是技术。

在心态上,端正了之前的心浮气躁、眼高手高,更加磨练了韧劲,增强了团队合作精神,提高了对软件开发中的工程设计思路的认识和理解。

技术上,在JSP动态网站开发方面积累了实践经验。

对CSS有了新的认识,提高了对HTML的熟练程度及使用技巧,尤其是与Javascript联手打造胖客户端的一些方法和思路。

在做这个网上书店系统的论坛时,帖子的发表功能采用的方法是UBB编辑器,通过开发UBB编辑器,接触到正则表达式并可以灵活运用。

在开发的过程中,无意中发现UBB编辑器的一个不足之处,它在获取当前激活选中区,即高亮文本块,或文档中用户可执行某些操作的其它元素的时候,用的是document.selection.createRange().duplicate(),所以当选中非编辑区的文本时(如同一个页面内的导航时),然后单击UBB编辑器的功能按钮,非编辑区的文本会响应UBB编辑器,这是开发人员不想看到的--它会导致页面凌乱。

查找相关资料也未能找到解决办法,除非摒弃UBB编辑器,改用HTML在线编辑器。

在实现购物车、订单的功能时,一开始想全部用数据库实现。

考虑到购物车中的书本并不一定是读者最终要购买的,如果用数据库实现,那么购物车的每次变动都要更新数据库,这必然会给数据库增加无谓的负担。

思考再三,自定义了一个固定形式的session来保存购物车的书目,当读者确定支付购买时,再将这个session“解密”后将购买信息写入数据库。

这个session的格式为:

-图书编号,购买数量-图书编号,购买数量-。

,当对购物车中的书目进行添加、更改、删除时,通过判断需要添加、更改、删除的书目在这个session中的位置(session为空,或是session中仅有的一个书目,或是session中最左的一个书目,或是session中最右的一个书目)来作不同的操作。

在测试中,发现这样实现的购物车功能有bug,原因是一本书的编号(如1)可能跟另一本书的编号(如21)的低位相同,于是我就想到,每次在操作这个session时先将其中的图书编号从左边用*号填充至10位,操作完成后去除所有*号还原。

问题迎刃而解。

整个网站系统共用一个信息提示的处理页面tip.jsp,该页面通过读取传进来的tip变量判断输出给用户的友好提示信息,传进来的desPage变量则为tip.jsp页面3秒倒计时后前往的页面地址。

网页头部页面head.jsp中调用了包java.text,其中通过实例化SimpleDateFormat类获取并格式化日期,所以在Eclipse中加载此项目时,除了正确配置数据源,还需要在项目的配置中加载Tomcat\common\lib\servlet-api.jar。

7.参考资料。

1.电子版网页制作完全手册(含DHTML参考、HTML参考、CSS属性参考),手册的内容全部来自MicrosoftMSDNLibrary,由lemon整理编辑,资料从下载。

2.电子版JScript语言参考手册(含正则表达式简介),手册的内容全部来自MicrosoftMSDNLibrary。

3.《JSP动态网站开发实用教程》,机械工业出版社,宝贝工作室策划。

4.电子版《JSP2.0技术手册》,林上杰、林康司著,电子工业出版社。

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
网上 书店 系统 课程设计
提示  冰点文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:网上书店系统课程设计.docx
链接地址:https://www.bingdoc.com/p-3221448.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2


收起
展开