网站建设话术开场白,昆山网站建设设计,网站上传文件夹,网页网站设计公司有哪些随着因特网的迅猛发展、WEB信息的增加#xff0c;用户要在信息海洋里查找信息#xff0c;就像大海捞针一样#xff0c;搜索引擎技术恰好解决了这一难题。目前#xff0c;搜索引擎系统可以分类三大类#xff0c;分别是#xff1a;目录式搜索引擎#xff1a;以人工方式或半… 随着因特网的迅猛发展、WEB信息的增加用户要在信息海洋里查找信息就像大海捞针一样搜索引擎技术恰好解决了这一难题。目前搜索引擎系统可以分类三大类分别是目录式搜索引擎以人工方式或半自动方式搜集信息由编辑员查看信息之后人工形成信息摘要并将信息置于事先确定的分类框架中机器人搜索引擎由一个称为蜘蛛的机器人程序以某种策略自动地在互联网中搜集和发现信息由索引器为搜集到的信息建立索引由检索器根据用户的查询输入检索索引库并将查询结果返回给用户元搜索引擎这类搜索引擎没有自己的数据而是将用户的查询请求同时向多个搜索引擎递交将返回的结果进行重复排除、重新排序等处理后作为自己的结果返回给用户。
1.2搜索引擎的发展方向
搜索引擎已成为一个新的研究、开发领域。因为它要用到信息检索、人工智能、计算机网络、分布式处理、数据库、数据挖掘、数字图书馆、自然语言处理等多领域的理论和技术所以具有综合性和挑战性。又由于搜索引擎有大量的用户有很好的经济价值所以引起了世界各国计算机科学界和信息产业界的高度关注目前的研究、开发十分活跃并出现了很多值得注意的方向
1.十分注意提高信息查询结果的精度提高检索的有效性。用户在搜索引擎上进行信息查询时并不十分关注返回结果的多少而是看结果是否和自己的需求吻合。
2.基于智能代理的信息过滤和个性化服务。信息智能代理是另外一种利用互联网信息的机制。它使用自动获得的领域模型如Web知识、信息处理、与用户兴趣相关的信息资源、领域组织结构、用户模型如用户背景、兴趣、行为、风格知识进行信息搜集、索引、过滤包括兴趣过滤和不良信息过滤并自动地将用户感兴趣的、对用户有用的信息提交给用户。
3.采用分布式体系结构提高系统规模和性能。搜索引擎的实现可以采用集中式体系结构和分布式体系结构两种方法各有千秋。但当系统规模到达一定程度如网页数达到亿级时必然要采用某种分布式方法以提高系统性能。
4.重视交叉语言检索的研究和开发。交叉语言信息检索是指用户用母语提交查询搜索引擎在多种语言的数据库中进行信息检索返回能够回答用户问题的所有语言的文档。如果再加上机器翻译返回结果可以用母语显示。该技术目前还处于初步研究阶段主要的困难在于语言之间在表达方式和语义对应上的不确定性。
2系统开发技术分析
通过基于Internet互联网的动态WEB数据库技术可以解决远程的数据传输与读取远程的客户终端可以通过WEB页面提交请求查询远端的数据服务器上的信息同时还可以向远端数据服务器的数据库中存储信息以实现信息的共享同时利用Internet技术可以降低软件的开发和部署成本只要在服务器端安装WEB应用就可以使每个客户端都能浏览使用。
2.1系统开发环境
本搜索引擎系统是一个B/S结构的系统它的发布需要有WEB服务器的支持且需要数据库系统来方便的对系统数据进行存储查询修改删除及时更新系统信息同时需要一种简单方便的编程工具可以与数据库进行交互。鉴于上述需求我选择IIS 5.0SQL Server2000ASP作为我的开发环境。
2.2 IIS简介
系统设计IIS是Internet信息服务Internet Information Server的缩写它是一种Web服务主要包括WWW服务器、FTP服务器等使得在Intranet局域网或Internet因特网上发布信息成了一件很容易的事。WWW服务提供维护网站和网页并回复基于浏览器的请求。有了WWW服务和它内置的功能通过Internet信息服务器可以创建各种各样的Internet应用程序加上其内置的对数据库连接的支持IIS的功能就更强大。SQL数据库信息或其他任何符合ODBC的数据库信息都能在Internet/Intranet上灵活应用。
2.3 SQL SERVER 2000简介
SQL Server 2000具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。它支持English Query和Microsoft搜索服务等功能在Web应用程序中包含了用户友好的查询和强大的搜索功能。同一个数据库引擎可以在不同的平台上使用SQL Server 2000企业版支持联合服务器、索引视图和大型内存支持等功能使其得以升级到最大Web站点所需的性能级别。SQL Server 2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000中包括一系列管理和开发工具这些工具可改进在多个站点上安装、部署、管理和使用SQL Server的过程。
2.4 ASP简介
ASP全称为Active Server Pages即动态服务器页面它是一套微软开发的服务器端脚本环境ASP内含于IIS 3.0 以上版本中通过ASP我们可以结合HTML网页、ASP指令建立动态、交互且高效的Web服务器应用程序。ASP脚本在服务器端解释执行结果自动生成符合HTML语言的主页去响应用户的请求。ASP已成为目前应用最广泛的动态网页开发工具同时应用ASP进行网络化的信息管理系统也逐步得到推广。ASP本身并不是一种脚本语言它只是提供了一种使镶嵌在HTML页面中的脚本程序得以运行的环境。ASP程序其实是以扩展名为.asp的纯文本形式存在于Web服务器上的可以用任何文本编辑器打开它。ASP程序中可以包含纯文本、HTML标记以及脚本命令。用户只需将.asp程序放在Web服务器的虚拟目录下该目录必须要有可执行权限就可以通过WWW的方式访问ASP程序了。
3概要设计
3.1需求分析
随着互联网信息的增长人们对信息资料的查阅已不满足现有的书籍资料网上搜索信息资料扮演着越来越重要的角色。本系统模块设计目标是采用后台数据信息录入前台动态页面查找的方式来实现对信息的搜索。本系统充分考虑了系统的可扩展性和搜索引擎特有的查询流程利用ASP基本知识以及Microsoft SQL Server 2000的基本操作使它具有良好的稳定性并且便于维护。
3.2数据库设计
数据库结构设计几乎所有的WEB项目都要基于数据库这使得数据库的设计在整个项目中举足轻重。本搜索系统中大部分前台的显示信息都是从数据库中读取所需信息而系统管理员则只需在后台通过修改数据库中的数据即可达到改变前台显示内容的目的所以数据库在本系统中作为中间介质连接前台和后台其重要性不言而喻。本设计根据系统需求分析选用SQL Server 2000作为该系统的数据库。数据库取名为database其中包含了系统中所有的数据。下面对一些关键表作详细说明。 3.2.1分类目录数据库表
分类目录数据库表在数据库中标记的是Sort数据表它记录的是子类信息包括子类名称、父类ID和是否在首页显示。Sort表的具体结构如表1所示
表1 sort表 字段名称 数据类型 说明 主关键字 ID int 编号 * Sort varchar 子类名称 Sort-ID int 父类ID Show int 是否在首页显示
3.2.2网站登录信息数据库
网站登录数据信息数据库在数据库中标记的是Web数据表它记录的是网站名称、网站内容简介、网站地址、是否审核、网站关键字、联系人姓名、联系人E-mail、联系人qq号码、联系人地址、联系人邮政编码、网站登录时间、网站访问次数、所属子类名称、子类路径和所属子类ID。Web表的具体结构如表2所示
表2 web表 字段名称 数据类型 说明 主关键字 ID int 编号 * Title varchar 网站名称 Content varchar 网站内容简介 URL varchar 网站地址 Verify char 管理员是否已经确认 Keyword varchar 网站关键字 Name varchar 联系人姓名 Email varchar 联系人E-mail QQ varchar 联系人qq Address varchar 联系人地址 PostCode varchar 联系人邮政编码 Time datetime 网站登录时间 Click int 网站访问次数 Sort varchar 子类名称 Sort_path varchar 子类路径 Sort_ID int 子类ID 3.2.3管理员数据库表
管理员数据表即数据表Admin记录的是管理员的登录名和密码。具体结构如表3所示
表3 Admin表 字段名称 数据类型 说明 主关键字 ID int 编号 * UserName varchar 管理员登录名 Password varchar 管理员密码 3.2.4关键字记录数据库表
关键字记录表即Keyword数据表记录关键字信息包括关键字和输入次数具体结构如表4所示
表4 Keyword表 字段名称 数据类型 说明 主关键字 ID int 编号 * keyword varchar 关键字 hot int 输入次数 3.3系统设计结构图
系统设计结构如图1所示 系统前台模块设计
4.1网站搜索模块的实现
4.1.1 功能描述
用户访问系统时首先接触到的是首页面index.asp它提供了到达5个功能模块的超链接默认显示为网站搜索模块。另外页面还提供一个表单from让用户输入要搜索的关键字当用户输入关键字单击搜索按钮后表单中的数据将被提交到search.asp文件中处理。在search.asp首先读取传递过来的数据然后判断该数据是否为空。如果不为空。则将数据分割为多个关键字然后在数据库中查找匹配的记录并在页面上显示。 4.1.2 流程图
在网站搜索模块中数据流程如图2所示 4.1.3 界面设计
搜索模块的界面设计如图3所示 4.1.4 工作流程和代码设计
输入关键字后数据被提交到search.asp中首先使用Request对象的QueryString()方法读取表单传递过来的关键字再判断关键字是否为空若不为空将多个关键字进行处理后分开保存在一维数组中
keyword replace(keyword,, ) 用空格替换关键词中的字符
keyword replace(keyword,[, ) 用空格替换关键词中的字符[
keyword replace(keyword,], ) 用空格替换关键词中的字符]
keyword replace(keyword,, ) 用空格替换关键词中的中文字符
keyword replace(keyword,,, ) 用空格替换关键词中的英文字符,
keywordltrim(rtrim(keyword)) 去掉关键词左边和右边的空格。函数LTrim 去掉字符串左边空格函数RTrim 去掉字符串右边空格
keywordlistsplit(keyword) 将用户输入的关键词用空格分成多个关键词并保存在一维数组keywordlist中
然后在循环写出查询的spl语句
if path or sort_path/0/ then search_sqlverify0 and (sql) order by click desc
else
search_sqlsort_path like % sort_path % and verify0 and (sql) order by click desc end if rs.open
selectid,sort_path,sort_id,title,keyword,url,content,address,postcode,verify,click from web where search_sql,conn,1,1
执行查询。使用html代码显示查询页面的网站搜索部分然后判断是否存在满足条件的记录如果存在则使用showcontent()过程显示满足条件的所有记录并将记录中的关键字用红色字体显示。然后使用showpage()过程显示记录的页数信息包括当前页、总页数等。最后显示查询页面的底部的管理入口并建立到管理员登录的超连接。
4.2 分类目录模块的实现
4.2.1 功能描述
分类目录界面由dir.asp实现在该页面显示的分类信息包括sort_id0的分类和sort_id1的分类即最上级分类和要求显示在首页上的下级分类。例如如果把“计算机”作为最上级分类。“计算机”又分为以下3类软件、硬件和网络。设置这3个分类也显示在首页上即show1。这3个分类的下一级分类不在首页上显示。当单击分类目录首页上的某分类时将进入list.asp文件在该文件中将详细显示这一分类及其下级分类并显示属于这一分类的所有网站信息。 4.2.2 工作流程和代码设计
单击分类目录首页上的某一分类进入list.asp文件在该文件中首先使用Request对象的QueryString方法读取sort_id的值并在数据库中查找这一分类的所有上级分类并连接在一起其逐级显示分类的代码如下
locality sort 要在网页上显示的逐级分类,如计算机软件编程语言
if sort_id0 then sort_id 0 表示该类存在上级分类 for i1 to 8 8表示在本系统中分类只有8级 set rsconn.execute(select * from sort where idsort_id) if rs.eof and rs.bof then else sortrs(sort) locality
a hreflist.asp?sort_idsort_idsort/alocality sort_idrs(sort_id) 上一层分类的id end if rs.close set rs nothing next
end if
若该分类还存在下级分类将显示下级分类最后显示属于这一分类的所有网站信息在显示网站信息的代码中用到了两个过程showcontent()过程和showpage()过程。Showcontent()过程显示所有满足条件的记录。Showpage()过程显示页数信息包括当前页、总页数等其中过程showpage()的处理代码如下
Function showpage(totalnumber,maxperpage,filename) 定义过程 Dim n If totalnumber Mod maxperpage0 Then totalnumber能够整除maxperpage n totalnumber \ maxperpage Else totalnumber不能够整除maxperpage n totalnumber \ maxperpage1 End If If CurrentPage2 Then 当前页是第一页 % 第一页 上一页 % Else 当前页不是第一页 % a href%filename%?sort_id%rqid%page1第一页/a a href%filename%?sort_id%rqid%page%CurrentPage-1%上一页/a % End If If n-currentpage1 Then 总页数小于或等于当前页 % 下一页 最后一页 % Else 总页数大于当前页 …… End If %
共%totalnumber%个网站 页次%CurrentPage%/%n%页
4.3网站登录模块的实现
4.3.1 功能描述
网站登录页面为jion.asp,在网站登录模块包含一个表单用于网站联系人输入网站和个人信息在表单中包含输入网站信息的文本域。其中。显示分类目录的文本域为sort_id它为只读类型只能单击文本域右边的“选择分类”按钮来输入当网站联系人输入所有的信息并单击“确定”按钮然后判断用户输入的分类目录是否存在如果存在则生成输入网站的最终分类目录。接着再判断用户输入的网站网址是否已经保存在数据库中如果没有保存在数据库中则在数据库中插入一条新的记录。如果数据库中已经存在该网址则给出提示并返回到前一页当所有的数据保存在数据库中之后页面上显示网站登录成功的提示。 4.3.2 数据流程图
网站登录的数据流程图如图4 4.3.3 工作流程
当网站联系人输入所有的信息提交后表单中的数据首先在check()过程中检查其合法性。如果合法数据将被提交到join_ok.asp文件中处理在该文件中将使用Request对象的From()方法获取网站登录数据然后判断用户输入的分类目录是否存在如果存在则生成输入网站的最终分类目录接着再判断用户输入的网站网址是否已经保存在数据库中如果没有保存在数据库中则在数据库中插入一条新的记录
rs.addnew 插入新记录 rs(sort)path 子类名称 rs(sort_path)path_id 子类id 路径 rs(sort_id)sort_id 父类id rs(title)request.form(title) 网站名称 rs(url)request.form(url) 网站网址 rs(keyword)request.form(keyword) 关键字 rs(content)request.form(content) 网站描述 rs(name)request.form(name) 联系人姓名 rs(email)request.form(email) 联系人email if oicq then qq为空 rs(oicq)null else rs(oicq)oicq qq end if rs(address)request.form(address) 联系人地址 rs(postcode)request.form(postcode) 邮政编码 rs(verify)-1 -1表示为审查 rs(click)0 点击次数 rs(time)date() 登录时间 rs.update 更数数据库 rs.close 关闭RecordSet 对象
end if
set rsnothing
如果数据库中已经存在该网址则给出提示并返回到前一页。当所有的数据保存到数据库中后页面上将显示登录成功的提示。
4.4 网站修改模块
4.4.1 功能描述
网站修改页面为admin.asp。在网站修改页面上包含两个表单。一张表单用来输入网站搜索的关键字实现的功能与网站搜索模块一样。另一张表单是网站联系人登录时输入姓名和电子邮箱在该表单中输入联系人的姓名的文本域为name输入联系人电子邮箱的文本域为email。当网站联系人输入姓名和电子邮箱单击“登录”按钮后表单的数据将被提交到login.asp文件中处理,当网站联系人输入修改的信息。并单击“确定”按钮后所有的数据提交到join_edit_ok.asp文件中该文件将所有的数据保存在数据库中。并在页面上显示网站修改成功的信息。 4.4.2 工作流程图
网站修改的工作流程如图5所示 4.4.3 界面设计
在首页页面或者分类目录页面或登录页面上单击“网站修改”超连接首先进入网站修改登录页面在该页面上输入网站登录时填写的联系人姓名和联系人电子邮件。单击“登录”按钮既可进入网站修改页面。网站修改页面也分两部分上面为网站搜索部分下面为网站信息修改部分。在信息修改部分网站联系人可以修改输入的网站信息。网站修改的设计界面如图6所示 4.4.4 工作流程和代码设计
在表单中输入联系人名称以及邮箱后数据被提交到login.asp文件中处理在login.asp中首先使用QueryString()方法读取action的值如果action的值为login则读取表单传递过来的联系人姓名和电子邮箱数据并判断联系人姓名和电子邮箱是否为空 if name then
response.write Scriptwindow.alert(联系人不能空);_
history.back();/Script else
if email then
response.writeScriptwindow.alert(电子邮箱不能为空 );_
history.back();/Script
如果二者都不为空则从数据库中查询email列的值为输入电子邮箱的记录。如果存在记录则判断输入的用户名是否正确如果不正确返回到登录页面。如果全部正确则登录成功保存联系人登录的电子邮箱和id并将页面转到jion_edit_ok.asp修改页面。进行网站登录信息的修改。
5系统后台模块设计
5.1 网站管理模块的实现
前台页面可以看成是对数据库中表的查询读入而后台则是对数据库表中的信息进行修改添加删除从而改变前台的显示信息。后台由管理员通过管理员id和密码登录进行操作。 5.1.1 功能描述
管理员登录之后首先进入的就是网站管理模块该模块管理员能够对已审核的网站进行修改和删除操作。网站管理模块的界面如图7 5.1.2 工作流程和代码设计
进入该界面时程序首先从数据库中查询verify0的记录然后将所有的记录分页显示在页面上。当管理员单击某个网站对应的“删除”超连接就可以将该网站及其所有信息从数据库中删除。执行删除文件的部分代码如下
if session(admin) then response.writeScriptwindow.alert(你目前还没登录请先登录);_
location.replace(index.asp);/Script
end if
If Request(action)delete Then delidreplace(request(id),,,) 获得要删除记录的idReplace 过程将获得的id 字符串中的用空字符替换 if delid or isnull(delid) then 要删除的记录id 为空 则给出提示 response.write scriptalert(操作失败没有选择合适参数请单击确定返回);/script response.redirect main.asp 返回到网站管理界面 response.end else id 存在 执行数据库中的删除操作删除数据库中id 列的值在delid数组中的记录 conn.Execute(delete * from web where ID in (delid)) 删除成功给出提示 response.write scriptalert(留言删除成功请单击确定返回);/script response.redirect main.asp
5.2 网站审核
网站审核模块与网站管理模块非常相似。不同的地方在于网站审核模块显示的所有网站均为未审核网站已经审核了的网站将不会在此页面显示。而网站管理模块显示的是已审核网站网站审核模块查询数据库的代码如下
Set rsserver,createobject(“adodb.recordset”)
rs.open”select id,sort_id,title.url.verify.click.time.from web where verify-1 order by id desc”.conn,1,1
5.3 分类管理模块
5.3.1 分类编辑
在分类显示界面的每个分类的下面对应着一个“编辑”超连接单击该超连接进入该分类的编辑界面分类编辑界面和分类添加界面相同二者的界面是由同一个文件生成进入某一分类的界面则在界面上显示该分类保存在数据库中的信息。当用户输入修改后的信息单击确定按扭所有的数据将被提交到sort_ok.asp文件中处理部分处理代码如下 case edit action 的值为edit showrequest.form(show) 是否首页显示 sort_idrequest.form(sort_id) 上级ID set rsserver.createobject(adodb.recordset) 创建RecordSet 对象 从数据库中查询id 列的值为request.form(id)的记录将结果保存在rs 中 rs.open select * from sort where idrequest.form(id),conn,1,3 rs(sort)request.form(sort) 分类名称 ……… rs.update 更新数据库 rs.close 关闭RecordSet 对象 if sort_id0 then 判断sort_id 的值并根据sort_id 的值返回到不同的界面 response.write Scriptwindow.alert(分类修改成功);location.replace(sort_manage.asp);/Script else response.write Scriptwindow.alert(分类修改成功);location.replace(sort.asp?sort_idsort_id);/Script end If 5.3.2 分类添加
在分类显示界面的最下方有一个“添加分类”超连接。单击该超连接能够添加当前分类的下一层分类。界面中包含表单forms用来输入要添加的分类信息。表单中定义的分类名称文本域为sort。首页显示为一个下拉列表show。可以选择是否要在首页显示默认为否上级id文本域为sort_id。操作文本域为action。它为只读型当操作为添加时文本域中显示“add”。表单中还定义了一个隐藏域id用来保存当前分类的id。其页面显示如图8所示 当输入要添加的分类信息并单击“确定”按钮后表单中的数据被提交到sort_ok.asp文件中处理。在sort_ok.asp文件中首先判断用户是否登录如果登录则读取操作action的值如果action的值为add则执行添加处理。分类添加的部分代码如下
action request(action)h 读取action 的值
select case action select条件语句
case add action 的值为add showrequest.form(show) 是否首页显示 sort_idrequest.form(sort_id) 上级ID set rsserver.createobject(adodb.recordset) 创建RecordSet 对象 从数据库中查询id 为空的记录将结果保存在rs 中 rs.open select * from sort where id is null,conn,1,3 rs.addnew 添加新记录 rs(sort)request.form(sort) 分类名称 if show then 首页显示0为首页不显示1为首页显示 rs(show)0 else rs(show)show end If if sort_id then 上级ID的值为空表示最上层分类 rs(sort_id)0 else rs(sort_id)sort_id end If rs(sort_id)sort_id end If rs.update 更新数据库 rs.close 关闭RecordSet 对象 Set rsnothing if sort_id or sort_id 0 then 判断sort_id 的值并根据sort_id 的值返回到不同的界面
response.writeScriptwindow.alert(分类添加成功);_
location.replace(sort_manage.asp);/Script else response.write Scriptwindow.alert(‘分类添加成功);_
location.replace(sort.asp?sort_idsort_id);/Script end If 5.3.3 分类删除
删除操作也是在sort_ok.asp文件中执行的。在sort_ok.asp文件中如果读取action的值为delete则执行删除操作在代码中首先读取id和sort_id的值然后执行del过程将所有相关分类删除最后根据sort_id的值将页面转到相关页。其中del过程是一个递归过程其基本思想是首先判断该分类是否是最下级分类如果是则直接删除改分类完成操作。如果不是最下级分类则查询该分类的下级分类对每一下级分类执行与该分类同样的操作即首先根据情况处理。最后直到所有的下级分类以及下级分类的下级分类等都删除掉然后再将该分类删除。del的具体代码如下 Function Del(sort_id,id) Set drs Server.CreateObject(ADODB.RecordSet) drs.Open Select * from sort where sort_idid,conn,1,3 If drs.EOF or drs.BOF Then 不存在满足条件的记录即该分类是最下级分类
conn.Execute(delete * from sort where IDid) 删除该分类 Exit Function 跳出Function 过程 Else 还存在下级分类 Do While Not drs.EOF 循环处理每一个下级分类 nid drs(id) 下级分类的id Del id,nid 删除该下级分类 drs.MoveNext 指向下一条记录 Loop End If drs.Close 关闭RecordSet 对象 Set drs nothing conn.Execute(delete * from sort where idid) 删除该分类
End Function
6系统性能测试
6.1 系统测试环境
本系统测试环境CPU PⅢ内存SDRAM 128MSQL SERVER 2000WIN2000/XP2003下均测试通过。建议用户CPU PⅣ内存256M及以上数据库版本SQL SERVER 2000WIN2000PRO/XP、2003WIN2000 SERVER及以上软硬件平台使用。
6.2 测试结果
在系统的各个模块设计完成之后需要对整个系统进行全面的测试。目的是让整个系统能够快速、稳定、安全的运行。在进行系统测试过程中会出现如下几种情况
1及时的捕捉数据库连接和关闭异常。
2对数据库查询操作异常进行捕捉。
3对数据库插入操作异常进行捕捉。
4对数据库更新操作异常进行捕捉。
5对数据库添加操作异常进行捕捉。
6对数据库删除操作异常进行捕捉。
结 论
本文通过对搜索引擎的认识和发展现状的分析从理论联系实际完成了基于ASP的搜索引擎的开发系统主要实现了用户对信息的检索。以及给定关键字根据关键字所属的分类来细分最后再查找到相关的信息同时系统还提供了网站登录在网站登录模块登录的用户需要输入登录网站名称、关键字、选择网站所属的分类、最后输入登录者的个人信息。在网站修改模块输入登录时填写的用户名和邮箱。登录成功后对输入的网站信息进行修改。唯一不足的是信息的搜索能力的大小取决于网站登录录入数据的多少。