网上书店系统课程设计Word文档格式.docx

上传人:b****1 文档编号:5797633 上传时间:2023-05-05 格式:DOCX 页数:16 大小:1.19MB
下载 相关 举报
网上书店系统课程设计Word文档格式.docx_第1页
第1页 / 共16页
网上书店系统课程设计Word文档格式.docx_第2页
第2页 / 共16页
网上书店系统课程设计Word文档格式.docx_第3页
第3页 / 共16页
网上书店系统课程设计Word文档格式.docx_第4页
第4页 / 共16页
网上书店系统课程设计Word文档格式.docx_第5页
第5页 / 共16页
网上书店系统课程设计Word文档格式.docx_第6页
第6页 / 共16页
网上书店系统课程设计Word文档格式.docx_第7页
第7页 / 共16页
网上书店系统课程设计Word文档格式.docx_第8页
第8页 / 共16页
网上书店系统课程设计Word文档格式.docx_第9页
第9页 / 共16页
网上书店系统课程设计Word文档格式.docx_第10页
第10页 / 共16页
网上书店系统课程设计Word文档格式.docx_第11页
第11页 / 共16页
网上书店系统课程设计Word文档格式.docx_第12页
第12页 / 共16页
网上书店系统课程设计Word文档格式.docx_第13页
第13页 / 共16页
网上书店系统课程设计Word文档格式.docx_第14页
第14页 / 共16页
网上书店系统课程设计Word文档格式.docx_第15页
第15页 / 共16页
网上书店系统课程设计Word文档格式.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

网上书店系统课程设计Word文档格式.docx

《网上书店系统课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《网上书店系统课程设计Word文档格式.docx(16页珍藏版)》请在冰点文库上搜索。

网上书店系统课程设计Word文档格式.docx

文本

书名

bookAuthor

作者

bookDate

日期/时间

出版日期

形如:

2007-01-22

bookPublish

出版社

bookPrice

数字

标价

bookStorage

库存

bookSold

售出数量

bookPhoto

备注

封面图片的路径和文件名

bookSort

类别

科技、文艺、管理、经济,等

bookIsbn

ISBN号

bookWords

字数

bookYC

印次

bookBC

版次

bookSheet

纸张

bookValue

售价

bookSummary

内容提要

bookAuthorInformation

作者简介

bookComment

评论

bookCommend

推荐方式

inAll(全局推荐)、inSort(在其所属类别内推荐)

表-2user,用户的详细资料。

userId

用户编号(主键)

userName

用户名

userFigure

身份

总管、读者

userSex

性别

男、女

userAge

年龄

>

0,<

150

userBirthday

出生日期

userAddress

现居住地

userHome

籍贯

userPwd

密码

userNumber

身份证号

表-3orderTotal,订单的整体属性资料。

orderId

订单编号(主键)

用户编号

orderDate

订购日期

checkDate

审核日期

totalValue

总价

表-4orderItem,订单中的图书条目资料。

订单编号

图书编号

buyNum

购买数量

bookSta

图书状态

缺书、待审、已发

图书售价

表-5topic,论坛的主帖的详细资料。

topicId

主帖编号(主键)

topicDate

发表日期

topicContent

内容

topicTitle

标题

发表的用户名

followTotal

回复数

发表的用户编号

表-6topic_follow,主帖与回帖的对应关系。

followId

回帖编号(主键)

主帖编号

followUserId

回帖的用户编号

表-7follow,回帖的详细资料

followDate

followContent

followTitle

表-8hotSearch,热门搜索关键词的详细资料。

hotSearchId

编号(主键)

searchMode

搜索方式

作者、书名、出版社

searchWord

搜索关键词

4.功能模块。

4.1首页index-main.jsp部分代码—1。

变量、函数的声明,网页标题的显示。

<

%@pagelanguage="

java"

contentType="

text/html;

charset=gb2312"

import="

java.sql.*,myPk.*"

%>

%request.setCharacterEncoding("

gb2312"

);

html>

head>

metahttp-equiv="

Content-Type"

content="

linkrel="

stylesheet"

type="

text/css"

href="

blue.css"

%!

//转换字符集

publicStringtoChi(Stringstr)

{

if(str==null)

return"

"

;

try

{

Stringtemp_p=str;

byte[]temp_t=temp_p.getBytes("

ISO8859-1"

Stringtemp=newString(temp_t);

returntemp;

}

catch(Exceptione){}

returnstr;

}

%>

%

Stringsort=null;

StringpageTitle="

首页"

//网页标题

StringbookHot="

//栏目的标题

Stringsql="

select*frombook"

Pageablers=null;

PageablersNew=null;

PageablersHot=null;

PageablersCam=null;

if(request.getParameter("

sort"

)!

=null)

/*Javascript脚本中页面跳转时传递的参数,

 以及HTML中链接(<

ahref="

***.jsp?

p1=z1"

跳转<

/a>

)时传递的参数,

 即使在发送端用了 request.setCharacterEncoding("

GB2312"

 接收时,仍然要用自定义的函数转换字符集,否则参数中的中文会显示为乱码。

*/

sort=toChi(request.getParameter("

));

pageTitle="

["

+sort+"

]"

bookHot=pageTitle;

sql=sql+"

wherebookSort='

'

title>

%=pageTitle%>

--网上书店<

/title>

/head>

4.2首页index-main.jsp部分代码—2。

显示全局推荐、类别内推荐的书目。

tablewidth="

100%"

border="

0"

cellspacing="

cellpadding="

tr>

td>

<

divid="

titleBg"

titleText"

%=bookHot%>

推荐<

/div>

br>

/td>

/tr>

tdalign="

left"

Conncon=null;

try

StringcomSql="

if(request.getParameter("

comSql+=sql+"

andbookCommend='

inSort'

else

wherebookCommend='

inAll'

comSql+="

orderbybookSolddesc"

con=newConn();

PageablersCom=con.getRs(comSql);

rsCom.setPageSize(10);

rsCom.gotoPage

(1);

for(inti=0;

i<

rsCom.getPageRowsCount();

i++)

if(sort==null)

ahref='

index-main.jsp?

sort=<

%=rsCom.getString("

bookSort"

)%>

[<

]<

book-information.jsp?

id=<

bookId"

bookTitle"

)%>

&

nbsp;

bookAuthor"

bookDate"

).substring(0,10)%>

rsCom.next();

con.closeRs();

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

/table>

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

函数声明。

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

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

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

-左,右->

*/

publicStringappString(Stringstr,intn)

intstrLen=str.length();

if(strLen>

=n)

returnstr;

StringsTem="

StringsBlank="

*"

for(inti=0;

(n-strLen);

sTem+=sBlank;

sTem+=str;

returnsTem;

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

publicStringappLongStr(Stringstr,intn){

String[]sTem=str.split("

-"

StringsRet="

sTem.length;

i++){

String[]splitByDot=sTem[i].split("

"

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

sTem[i]=splitByDot[0]+"

+splitByDot[1];

}

if(sTem.length==1)

returnsTem[0];

(sTem.length-1);

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)

)==-1))

sTem=sSessionLeft.substring(0,sSessionLeft.lastIndexOf("

//删除的是sessionorder中最右的记录项

))+sSessionRight.substring(sSessionRight.indexOf("

//删除的是sessionorder中间位置的记录项

}//if(act.equals("

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技术手册》,林上杰、林康司著,电子工业出版社。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

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

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