电子图书馆程序结构.docx

上传人:b****7 文档编号:8966537 上传时间:2023-02-02 格式:DOCX 页数:17 大小:24.49KB
下载 相关 举报
电子图书馆程序结构.docx_第1页
第1页 / 共17页
电子图书馆程序结构.docx_第2页
第2页 / 共17页
电子图书馆程序结构.docx_第3页
第3页 / 共17页
电子图书馆程序结构.docx_第4页
第4页 / 共17页
电子图书馆程序结构.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

电子图书馆程序结构.docx

《电子图书馆程序结构.docx》由会员分享,可在线阅读,更多相关《电子图书馆程序结构.docx(17页珍藏版)》请在冰豆网上搜索。

电子图书馆程序结构.docx

电子图书馆程序结构

一、系统开发背景及原理

1.开发背景

互联网技术的不断发展和普及已经改变了人们的工作、学习和生活习惯,很多人希望能够通过互联网满足自己的学习、工作上的需求;同时,许多企业、学校等单位把实现电子商务、信息共享作为一个发展方向。

因此,如何构建互联网站,开发网络应用程序已经成为当前的热门技术之一。

本人正是在这种情况下,根据所学专业和学习环境结合实际情况在辅导老师的帮助下尝试开发了这样一套网络应用系统—电子图书馆。

2.技术原理

2.1设计思想

电子图书馆系统的开发采用的是浏览器/服务器(Browser/Server)结构,是种随着Internet技术发兴起,对客户机/服务器(Client/Server)结构的一种变化或者改进的结构。

在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但主要事务逻辑在服务器端实现。

B/S结构主要利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript等)、ASP(ActiveServerPages)技术以及ActiveX技术。

采用B/S结构的应用程序主要运行在服务器端,而运行在客户端的界面层的程序一般比较小,对系统的要求不高,在这种情形下,系统的硬件主要取决于服务器,只要增加服务器的处理能力,就能够满足系统处理数据的能力,也就是说大部分升级维护工作只需要针对服务器进行,大大节省人力、时间和费用。

2.2ASP技术

ASP是一套Web服务器端的开发环境,可以使用ASP结合HTML网页、ASP指令和ActiveX建立和运行动态、交互、高性能的Web服务器应用程序。

在使用ASP时,所有程序的ASP代码都将在服务器端执行,包括所有嵌在普通的HTML中脚本程序。

当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。

ASP文件的后缀名为.asp,ASP程序的控制部分是用VBScript和JavaScript等脚本语言来设计的。

当执行ASP程序时,脚本程序将一整套命令发送给脚本解释器(及脚本引擎),有脚本解释器进行翻译,并将转换成服务器能执行的命令

利用ASP技术之所以能够动态创建Web页面,一个主要原因就是ASP提供了功能内置对象,在本系统中主要下面几个:

(1)Response对象,该对象的功能是用于动态响应客户端请求,并将动态响应的结果返回给客户端浏览器;

(2)Request对象,该对象被用于读取客户端传送给服务器的值,通常由客户端向Web服务器提出请求,Web服务器才会响应信息,语法结构为Request[.collection](variable);(3)Session对象,Session实际上是服务器与客户端之间的会话,可以用来存放访问者的一些信息,并且这些信息当用户在应用程序的页面之间跳转时始终存在不被清除。

(4)Server对象,Server对象提供了一系列的方法和属性,在使用ASP编写脚本时是非常有用的。

最常用的是Server.CreateObject方法,它允许我们在当前页的环境或会话中在服务器上实例化其他COM对象。

还有一些方法能够把字符串翻译成在URL和HTML中使用的正确格式,它通过把非法字符转换成为正确、合法的等价字符来实现。

2.3关于ADO技术

(1)采用ASP技术开发网络信息应用系统不可避免要运用到数据库即Web数据库,而ADO是ASP中推荐的访问数据库的方式。

ASP用DatabaseAccess组件与数据库进行连接,DatabaseAccess组件通过ActiveXDataObjects(ADO)访问存储在数据库或其他表格化数据结构中的信息。

现在,Microsoft对应用程序访问各种各样的数据源所使用的方法是OLEDB,OLEDB介于ODBC层和应用程序之间。

在你的ASP页面中,ADO介于ODEDB之上的“应用程序”。

你的ADO调用首先被送到OLEDB,接着被送到ODBC层。

OLEDB是一套组件对象模型(COM)接口,但它是相当复杂的。

这样,你需要一个连接应用程序与OLEDB的桥梁,这就是ADO。

而且,它支持开放式数据库连接(ODBC)标准的关系型数据库。

其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。

ADO支持用于建立基于浏览器/服务器(B/S)应用程序的主要功能。

(2)ADO包含了连接对象(Connection)、命令对象(Command)、记录集对象(Recordset)、字段对象(Filed)、参数对象(Parameter)、错误对象(Error)、属性对象(Property)和集合与事件等。

(3)ASP与ACCESS数据库进行连接,代码如下:

SetobjConnection=Server.CreateObject("ADODB.Connection")

DBPath=Server.MapPath("db1.mdb")

objConnection.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath

SQLQuery="SELECT*FROMAuthor”

SetrsRecordset=Server.CreateObject("ADODB.Recordset")

rsRecordset.OpenSQLQuery,objConnection,adOpenKeyset,adLockReadOnly

 

3.开发环境

3.1硬件环境

服务器采用的是CPUP42.4G,RAM512M,硬盘120G的配置;

工作站采用的是两种配置:

(1)CPUC41.0G,RAM128M,硬盘40G

(2)CPUPIII700M,RAM64M,硬盘10G

网络连接设备:

(1)集线器:

Dlink24口

(2)交换机:

RealTek24口

3.2软件环境

3.2.1操作系统

(1)服务器采用的操作系统是Windows2000ServerSP4版

(2)工作站采用的操作系统是Windows98和Windows2000Professional版。

3.2.2应用软件

(1)ASP运行环境

在Windows2000操作系统上,通常选择IIS5.0作为ASP得以运行的网络服务器。

IIS是InternetInformationServer的缩写,它是微软公司主推的Web服务器,它与Windows2000系列操作系统结合可以建立强大、灵活而安全的Internet和Intranet站点。

IIS引入ASP后,可以很容易地张贴动态内容和开发基于Web的应用程序。

(2)系统开发软件

Frontpage2000

Dreamweaver2004MX

(3)数据库系统

MSAccess2000

二、登录页面default.asp

登录页面是系统的起始页面,采用网页制作中常用的HTML表单(FORM)制作交互页面的手段实现。

在该页面中登录用户必须输入正确的用户名和密码,然后点击登录按钮后,用户所输入的信息被提交给表单处理程序(Action)进行用户身份校验。

用户名:

密码:

type="submit"name="OK"value="登录">   

三、用户身份校验页面logon.asp

logon.asp是一个在服务器上执行的表单处理程序,在本系统中需要处理的数据是用户名和密码。

数据信息提交到logon.asp页面后(name=Request.Form("name")passwd=Request.Form("passwd")),系统利用ActiveX数据对象(ADO)访问系统的用户数据库,并采用结构化查询语言(SQL)进行检索,以确认所输入的用户名和密码是否正确,如果不正确则在客户端的页面中显示出错信息。

如果正确,系统将利用Session对象存储访问者的信息,即用户名和用户级别将分别存储在session(“username”)和session(“usertype”)中,以便于服务器对这些信息进行跟踪判断,然后显示电子图书馆主页面。

利用ADODB方式和SQL连接和查询数据库的具体程序实现

sql="selectname,passwd,typefromusertypewherename='"&name&"'"

setconn=server.CreateObject("adodb.connection")

conn.Openapplication("dsn")

setrs=server.CreateObject("adodb.recordset")

rs.Opensql,conn

利用ASP的Session对象存储访问者信息的具体程序实现

session("username")=rs("name")

session("usertype")=rs("type")

四、电子图书馆主页面frame.asp

电子图书馆主页面是系统的基本工作页面,所有的操作及显示信息都在这个页面中进行,整个页面利用框架(frame)技术将浏览器窗口分成三个区域:

(1)顶部(xtop区)为菜单页面;

(2)左边(xmargin区)为阅读功能区;(3)右边(xbody区)为阅读区。

在系统运行过程中,顶部菜单一直都是显示状态;右边的阅读区则根据操作显示不同的数据信息;左边的阅读功能区可以在“阅览”、“搜索”、“书签”、“书评”中进行切换,同时还具有隐藏和显示两个状态。

1.顶部菜单页面xtop.asp

顶部菜单页面处于电子图书馆主页面的顶部(xtop区),采用JavaScript脚本语言实现动态的菜单显示效果。

顶部菜单包括:

书库首页、显示/隐藏菜单、新闻、按分类浏览、个人信息、更改密码、添加书签、发表看法、重新生成书目、软件下载、退出系统。

在显示顶部菜单页面的同时,还将弹出一个小窗口(personal.asp),显示欢迎信息和用户的身份信息。

由于本系统需要用户身份验证,为了防止没有正确登录的用户通过指定URL的方式进入系统,对于每一个需要检查用户权限的页面,将在页面开头包含identify.asp文件进行权限检查。

书库首页

show_onclick();">显示/隐藏菜单

新闻

readmain();">按分类浏览

show_person();">个人信息

show_passwd();">更改密码

add_bm();">添加书签

add_cm();">发表看法

<%ifsession("usertype")<=1then%>

重新生成书目

<%endif%>

软件下载

退出系统

1.1权限检查文件identify.asp

用户正确登录后,用户名存放在session(“username”)对象中,因此可以通过检查session(“username”)的方法来判断用户是否正确登录。

如果用户正确登录,则程序继续执行;如果用户不是正常登录,页面将重定向到error.asp,给出出错提示,要求重新登录。

if(isempty(session("username"))orlen(session("username"))=0)then

Response.Redirect"error.asp"

endif

1.2书库首页xmain.asp

返回书库首页的菜单命令,具体功能及显示内容见右侧阅读区页面—书库首页xmain.asp的说明。

1.3显示/隐藏菜单show_onclick()

由于系统主页利用框架(Frame)分成了三个区域,在阅读内容时为了获得更大的阅读区域显示更多的内容,可利用显示/隐藏菜单按钮关闭阅读功能区来实现。

通过利用JavaScript函数修改Frameset的Cols属性值实现:

(1)隐藏阅读功能区top.window.f2.cols="0,*";

(2)显示阅读功能区top.window.f2.cols="300,*"。

1.4新闻news/news_index.htm

在主页的阅读功能区中显示新闻页面。

1.5按分类浏览readmain.asp

本系统对于书目的浏览通过两种方式实现,一是通过顶部菜单中的“按分类浏览”进行漫游式的浏览;二是通过左边阅读功能区菜单中的类别目录进行浏览。

本节先介绍前者,后者将在阅读功能区页面中说明。

Readmain.asp文件是“按分类浏览”功能的主文件,同时也是本系统重点实现部分,主要功能是显示书库根节点的子类别。

(1)本模块首先连接书目数据库,搜索图书的编号id、名称title及类别type_id:

setconn=server.CreateObject("adodb.connection")

conn.Openapplication("dsn")

sql="selectid,title,type_idfrombookwarelistwhereparent='书库'"

setrs=server.CreateObject("adodb.recordset")

rs.Opensql,conn。

(2)然后按照第一级大类以及大类的子类进行排列显示如教育信息类及子类公共关系学,经济法律及子类创业实战、法律实践、法律理论等,通过单击连接点访问当前类别的子类和书目列表:

whilenotrs.eof

id=rs("id")

title=rs("title")

type_id=rs("type_id")


<%=title%>

<%sql1="selectid,title,type_idfrombookwarelistwhereparent='"&title&"'"

setrs1=server.CreateObject("adodb.recordset")

rs1.Opensql1,conn

i_temp=0

dowhilenotrs1.eof

i_temp=i_temp+1

id1=rs1("id")

title1=rs1("title")

type_id1=rs1("type_id")%>

title=<%=title1%>&type_id=<%=type_id1%>"><%=title1%>

<%rs1.MoveNext

ifi_temp>=4then

i_temp=0%>

<%endif

loop

rs1.Close

setrs1=nothing

rs.MoveNext

wend

1.5.1当前子类及书目列表read_class.asp

(1)在readmain.asp页面中点击子类名即可连接到read_class.asp页面在阅读区中显示该子类所包含的下一级子类名称及书目列表。

超连接实现的方法如下:

title=<%=title1%>&type_id=<%=type_id1%>"><%=title1%>

其中title=<%=title1%>&type_id=<%=type_id1%>是要传递给read_class.asp页面的数据。

(2)在read_class.asp加载时首先从父页面中获得所选子类的名称及类别编号,实现方法如下:

parent_title=Request.QueryString("title")//图书名称

parent_type_id=Request.QueryString("type_id")//图书类别编号

(3)在read_class.asp页面中,根据所选子类的名称显示该子类下的下一级子类和书目列表。

(A)首先根据所选子类名称parent_title显示该子类的下级子类列表:

setconn=server.CreateObject("adodb.connection")

conn.Openapplication("dsn")

i_temp=-1

sql1="selectid,title,type_idfrombookwarelistwhereparent='"&parent_title&"'"

setrs1=server.CreateObject("adodb.recordset")

rs1.Opensql1,conn

whilenotrs1.eof

id=rs1("id")

title=rs1("title")

type_id=rs1("type_id")

i_temp=i_temp+1

ifi_temp=3then

Response.Write""

i_temp=0

endif


width=15>

title=<%=title%>&type_id=<%=type_id%>"><%=title%>

<%

rs1.MoveNext

wend

(B)然后显示该子类的书目列表,同时根据登录者的权限session("usertype")<=1设置书目列表后的操作列表,普通登录者可以进行添加标签、写书评、看书评操作,管理员登录者还可以进行推荐、加入新书列表操作。

sql="selectbookid,name,Author,timesfromBookDetailwheretype="&b_type

setrs=server.CreateObject("adodb.recordset")

rs.CursorLocation=3'客户端处理游标

rs.Opensql,conn

ifrs.EOFthen

rs.Close

setrs=nothing

conn.Close

setconn=nothing

Response.Write"没有符合条件的记录。

"

Response.Write""

Response.End

endif

rs.PageSize=20

rs.absolutepage=cint(strPage)

select_count=rs.RecordCount

select_

展开阅读全文
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1