web实验报告.docx
- 文档编号:18095090
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:26
- 大小:782.97KB
web实验报告.docx
《web实验报告.docx》由会员分享,可在线阅读,更多相关《web实验报告.docx(26页珍藏版)》请在冰点文库上搜索。
web实验报告
华北电力大学科技学院
实验报告
|
|
实验名称图书馆管理信息系统分析与设计
课程名称Web技术及应用
|
|
专业班级:
学生姓名:
学号:
成绩:
指导教师:
实验日期:
2011-5-21
一、实验目的和要求
1.实验目的
通过本次实验基于Web模式的图书管理系统,完成对图书管理系统的需求分析和数据库的模式分析。
通过建立基于B/S模式的图书管理系统,使系统能利用当前最新的软件开发技术,便于管理员和读者管理、查询、借阅图书的操作。
2.实验要求
(1)功能可参照学校图书馆系统,要求网站页面涉及风格一致,界面简洁,具有带行功能;
(2)实现管理员和用户两种角色,通过登陆页面,登录到各自页面;
(3)管理员页面:
借书、还书、对用户和图书信息维护(增删改除);
(4)用户页面:
个人信息的维护、图书查询;
(5)留言板:
用户留言,数据库中数据设置。
二、系统分析与设计
2.1系统分析
根据实验要求,我们就需要对开发的模式,开发器和数据库的选用进行分析,得出最佳组合方案。
1)选择B/S模式
Web程序的核心:
对数据库进行处理;及管理信息系统———B/S模式。
基于Web的B/S模式体系结构特别适用于信息的浏览、查询与发布,适用于领导辅助决策支持,而且相对于C/S模式体系结构而言,基于B/S模式体系结构的应用系统具有简化的客户端、开发和维护系统方便、用户操作更加简单以及适用于网上信息发布等优点。
所以此图书管理信息系统平台模式采用B/S模式。
2).NET的特点
·基于组件的技术
COM的优点:
将任何语言开发的COM(componentobjectmodel,组件对象模型)组件集成到程序中,即插即用。
COM的缺陷:
技术复杂(必须遵守COM身份、生命期和二进制布局等)、需要进行组件注册、频繁地重写底层代码。
.NET组件:
不需再写额外的底层代码来支持组件化,只需一个.NET类,不使用注册表。
·跨语言集成
目前支持.NET平台上开发的编程语言超过了25种
COM不支持语言集成无法重用他人编写的COM组件中的代码;无法扩展COM类;无法捕捉COM抛出的异常
.NET编程语言的跨语言集成是在IL层次上面的集成,可以调试抛出的异常,可以扩展相应的功能
•简化开发
.NET提供一套框架类,允许任何语言使用。
每次更换语言时不需学习新的API
VisualStudio.NET中不同语言所对应的开发环境一模一样,提高了开发效率
•强大的分布式应用
COM要求分布式应用的两端需要同样的环境
在网络中存在防火墙等网络设备时,DCOM不能很好的工作。
.NET技术采用XML的编码格式,利用SOAP协议进行分布式的调用
•可靠性和安全性
.NET程序在编译和运行过程中借助于CLR托管执行
类型的安全检测、垃圾收集、即时编译等
声明性的安全检测、强制性的安全检测
3)SQLSever2005数据库
由于SQLSever拥有高弹性与多元化的结构,不仅符合业界的需求,更能与互联网紧密集成,而且全面支持包括windowsCE,Windows98,windowsNT与Windows2000等windows的操作系统。
综上所述,本系统采用.NET框架+SQLSever2005数据库,并采用B/S架构进行开发。
2.2系统设计
图书管理信息系统的实体间E-R图,如图2-1所示:
图2-1系统E-R图
系统用户信息实体图,如图2-2所示:
图2-2系统用户信息实体图
系统借阅信息实体图,如图2-3所示:
图2-3系统借阅信息实体图
系统图书信息实体图,如图2-4所示:
图2-4系统图书信息实体图
由此,我们可以设计出数据库中的各个表(见附录)。
先在SQLserver2005中建立所需要的数据库,建立四个数据表分别是:
Book,Member,BorrowInform,liuyan,以及对各个表的设计:
表名:
留言板
三、系统实现
3.1系统实现的关键技术
1)web.config配置文档
ASP.NET环境下的编程提供了一种基于XML的统一配置文件——web.config,存在于Web应用程序服务器上的任何目录中,统一命名为“web.config”。
通常,在web.config文件中需要设置一些公共的属性信息,如数据库连接网页文字显示的编码等,这样无需重新编译应用程序就可以更新应用程序的某些属性。
当把系统迁移到一个不同的服务器时,只需修改web.config文件中的相关配置信息,便可适应新服务器的要求。
2)使用Session进行登陆验证
对象Session是用来记录浏览器的变量,是其专用变量。
对于每个浏览器,访问时都会自动产生一个session对象,这个对象提供了一个存储场所,用来存储访问者在会话的活动期间打开的网页中可用的变量和对象。
这样它可以用来在Web间传递专对单个浏览器端使用的数据。
在ASP代码中是使用表单来实现交互的,而相应的内容则会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以轻松绕过验证直接进入该页面。
为防止未经注册的用户绕过注册界面直接进入应用系统此类事情的发生,我们采用Session对象进行注册验证。
3)验证控件的使用
该系统中使用了字段验证控件(RequiredFieldValidator)、比较验证控件(CompareValidator)、范围验证控件(RangeValidator)、正则表达式匹配验证控件(RegularExpressionValidator)等来实现检查目标控件是否有值,比较两个控件的输入是否符合程序设定,验证输入的值是否在一定范围之内等功能。
3.2系统主要界面及功能介绍
下图3-1为登录页面,又包括留言板。
功能:
不同身份用户登录,而且可留言:
图3-1图书管理信息系统登陆页面
代码:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="jiajia.aspx.cs"Inherits="_Default"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml">
--
.STYLE1{font-size:
50px}
-->
LabelID="Label1"runat="server"Text="Label">
Label>
744px">
252px;z-index: 100;left: 196px;position: absolute;top: 240px;"border="1"background="qq.jpg"> 101px;height: 6px;"> LabelID="lblQuanxian"runat="server"Text="权限: "> Label> 337px;height: 6px;"> DropDownListID="drpQuanxian"runat="server"Width="151px"> ListItemValue="学生">学生 ListItem> ListItem>管理员 ListItem> DropDownList>
101px;height: 13px;"> LabelID="lblUID"runat="server"Text="帐号: "> Label> 337px;height: 13px;"> TextBoxID="txtUID"runat="server"MaxLength="12"> TextBox> RequiredFieldValidatorID="rvfUID"runat="server"ControlToValidate="txtUID" CssClass="q"Display="Dynamic"ErrorMessage="帐号不能为空"> RequiredFieldValidator> RegularExpressionValidatorID="rveUID"runat="server"ControlToValidate="txtUID" CssClass="q"Display="Dynamic"ErrorMessage="输入的帐号格式不正确"ValidationExpression="[0-9]{12}"> RegularExpressionValidator>
101px;height: 4px;"> LabelID="lblPSW"runat="server"Text="密码: "> Label> 337px;height: 4px;"> TextBoxID="txtPSW"runat="server"TextMode="Password"Width="151px"> TextBox> RequiredFieldValidatorID="rvfPSW"runat="server"ControlToValidate="txtPSW" ErrorMessage="密码不能为空"> RequiredFieldValidator>
284px;height: 5px;"> ButtonID="btnLogin"runat="server"Text="登录"OnClick="btnLogin_Click"Width="65px"/>