是,在用户登陆时为其提供
一系列的选项,使用户能够对站点进行一些自主的设置。这样做能够使站点呈现
一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点
前让其对站点进行设置,其结果未免有些粗糙。于是我们构想了这样一种方案,
对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的
关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成一页面,
其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户作出任
何额外工作的情况下实现了为用户量身订做的个性化页面。
要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户
点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系
统管理。本文中数据库服务器端采用了Microsoft Access数据库作为ODBC(Open
DataBase Connectivity )数据源,并以先进的ADO(ActiveX Data Objects)技术
进行数据库存取等操作,使Web与数据库紧密联系起来。
整个个性化页面生成系统主要由使用Dreamweaver_MX开发的关联规则采掘系统和利用IIS+ASP技术实现的个性化Web页面生成器两部分组成。关联规则采掘系
统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录
用户行为和根据关联规则表动态生成用户个性化Web页面。二者通过数据库服务器和Web服务器连接。
本文作者主要完成Web服务器端的用户管理、图书目录管理、图书信息录入管
理、书店定单管理、图书的浏览和查找、书店购物结帐功能模块的设计、实现与完
善以及整个实验网站的组织建立和测试工作。
用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文
件到服务器恐怕是遇见最多的问题了,尤其是上传图片,比如你想要在使每本书有一个图片浏
览功能,就要图片上传照片的功能。上传图片文件到服务器可以使用各种免费的 文件上传组件,
使用起来功能虽然很强大,但是由于很多情况下,我们只能使用免费的支持ASP的空间或者
租用别人的虚拟空间,对于第一种情况,我们根本就没有可能来使用文件上传组件;至于第二
种情况,我们也要付出不少的“银子”才可以。除非你拥有自己的虚拟主机,你就可以随便的
在服务器上面安装自己所需要的组件,这种情况对于大多数人来说是可望而不可及的。经过一
段时间搜集资料,终于使我克服了这个困难,使用纯ASP代码来实现图片的上传功能。其主
要代码如下:
dim upload,file,formName,formPath,iCount,sname
set upload=new upload_5xSoft ''建立上传对象
response.write upload.Version&"" ''显示上传类的版本
if upload.form("filepath")="" then ''得到上传目录
HtmEnd "请输入要上传至的目录!"
set upload=nothing
response.end
else
formPath=upload.form("filepath")&year(now)&month(now)&"/"
''在目录后加(/)
if right(formPath,1)<>"/" then formPath=formPath&"/"&year(now)&month(now)&"/"
end if
iCount=0
for each formName in upload.file ''列出所有上传了的文件
set file=upload.file(formName) ''生成一个文件对象
if file.FileSize>0 then ''如果 FileSize > 0 说明有文件数据
file.SaveAs Server.mappath(formPath&file.FileName) ''保存文件
response.write "
上传成功,请复制下边剪切板中内容而后粘贴到图书图片剪切板内!
"
dim thename,fsobj,spp,paths
'文件更名
thename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&right
(file.filename,4)
'response.write thename
spp=file.filename
file.filename=thename
file.SaveAs Server.mappath(formPath&file.FileName)
paths=server.mappath("../")&"\bookpic\"&year(now)&month(now)&"\"&spp
set fsobj=server.CreateObject("scripting.filesystemobject")
if fsobj.fileExists(""&paths&"") then
fsobj.deletefile(""&paths&"")
end if
set fsobj=nothing
response.write "
"
iCount=iCount+1
end if
set file=nothing
next
set upload=nothing ''删除此对象
response.write ""
'Htmend iCount&" 个文件上传成功!"
sub HtmEnd(Msg)
set upload=nothing
response.write " "&Msg&" [关闭窗口]