版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科生毕业论文(设计)本科生毕业论文(设计)中文题目中文题目: 基于无线网络的图书馆信息管理系统 英文题目英文题目: a wlan-based library information management system 学生姓名学生姓名 薛宏 班级班级 15 学号学号 03 学学 院院 通信工程学院 专专 业业 通信工程专业 指导教师指导教师 董 好 职称职称 讲师 吉林大学学士学位论文(设计)承诺书吉林大学学士学位论文(设计)承诺书 本人郑重承诺:所呈交的学士学位毕业论文(设计) ,是本人在指导教师的指导下,独立进行实验、设计、调研等工作基础上取得的成果。除文中已经注明引用的内容外,本论文(
2、设计)不包含任何其他个人或集体已经发表或撰写的作品成果。对本人实验或设计中做出重要贡献的个人或集体,均已在文中以明确的方式注明。本人完全意识到本承诺书的法律结果由本人承担。 学士学位论文(设计)作者签名: 年 月 日摘要摘摘 要要当今是信息时代,信息被作为二进制数据存储在计算机系统中。当今又是网络时代,基于网络的分布式数据库系统被广泛应用,分布式数据库系统管理软件,一般都分为server 端和 client 端两部分,这样用户访问数据库就需要安装 client 端,这种方式为传统的 c/s 方式。如果能用网页来代替 client 端,则可以方便用户,也减轻了用户主机的负担,降低了访问数据库对用
3、户主机的性能要求,这种方式即为访问数据库的 b/s(browser/server)方式。本文介绍了 b/s 模式的图书馆信息管理系统的设计的具体过程。本文先介绍信息管理系统的背景,然后为设计选择网页服务器软件和数据库服务器软件以及网页编程语言。粗略介绍了 html、php、sql 三种语言,为下一步实现编程访问数据库作准备。访问数据库,本文的思路是先以 c/s 方式实现访问,然后再在 c/s 模式的辅助下一步步实现 b/s 模式的访问。成功访问数据库之后,就开始数据库的系统设计。系统设计的目的是实现系统整体的结构性,从而减少信息的冗余,实现自动化管理,使整个系统可以保证信息的完整性. 本设计使
4、用 php、apache 和 mysql 作为平台。设计成功地在学校局域网环境下搭建了 web 服务器和 mysql 数据库服务器,并在 web 服务器配置了 php 引擎,实现了 b/s 模式下的用户登录、大众免登录查询功能,在程序中加了简单的逻辑以展现动态网页效果。得益于学校的 wi-fi 环境,本设计间接地实现了用 wi-fi 访问本设计中已搭建的网站。在 wi-fi 功能已间接实现的事实的鼓舞下,本文又总结了给局域网增加 wi-fi的方案。本设计的目的是实习,根据需求和自己的专业特长,给出实用的解决方案,在实习的过程中让自己对该类系统的设计方法和思路有更深的了解,并得出结论。希望该论文
5、能辅助相关的工作。关键词 php apache mysql b/s 图书馆信息管理系统abstractabstracttoday is an age of information, in which information is stored in computer systems as binary data. today is also an age of internet. distributed database systems are widely used. distributed database system management software, are generally
6、 divided into the two parts of server and client. so users who accesses the database need to install the client software. and this method of visiting a database is called the c/s method. if we can use a web browser instead of the client, the burden and performance requirements on the users host will
7、 be reduced. this is the b/s(browser/server) method of visiting a database. this article describes the design process of the b / s library information management system.this article first leads the reader into a tour of the background of the information management system, and then chooses web server
8、 software and database server software and web programming languages for the design and then selectively introduced the three languages of html&php&sql to prepare for access the database through programming. the article introduces how to access the database in c / s method, and then introduc
9、es how in b / s method. after all the job is done, the design of the database system begins. the purpose of the system design is the achieve a structural system, thereby reducing the redundancy of information, automating management of the whole system and guaranteeing the integrity of the informatio
10、n. the platform used here is php & apache & mysql. this design has realized the function of login and book searching for public。some logics is also added to show the dynamic character of php. benefiting from our schools wi-fi environment i have indirectly realized wi-fi access to my website.
11、 inspired by that i concluded a method of adding wi-fi to a lan. the design is actually for a thesis in which a solution to certain demand is to be produced and a conclusion is to be made. i hope this article can serve some relevant job.keywords php apache mysql b/s library information management sy
12、stem目录目目 录录第一章第一章 绪论绪论.11.11.1 研究背景研究背景.11.21.2 本设计的目的、意义本设计的目的、意义.21.31.3 本设计主要工作本设计主要工作.2第二章第二章 相关理论技术相关理论技术.42.1 数据库技术.42.2 语言基础.6第三章第三章 b/sb/s 模式描述及平台选择模式描述及平台选择.113.1 b/s 模式描述.113.2 平台选择.123.3 phpapache+mysql 平台的搭建.14第四章第四章 基于无线网络的图书馆信息管理系统设计与实现基于无线网络的图书馆信息管理系统设计与实现.214.1 系统设计方案.214.2 访问数据库.234
13、.3 增设 wi-fi.31第五章第五章 总结和展望总结和展望.325.1 总结.325.2 展望.32致致 谢谢 .33参参 考考 文文 献献.34附录附录 a a .35第 1 章 信息管理系统的背景0第一章第一章 绪论绪论1.11.1 研究背景研究背景信息管理系统,这里的信息主要是指计算机中的以二进制方式存储的数据信息。这里的信息管理系统主要指对数据管理的系统。在此介绍数据管理技术的历史。包括数据管理技术的产生和发展。数据管理技术的发展又催生了数据库技术。数据管理技术的先后四个阶段如下:人工管理阶段,大约在 20 世纪 50 年代以前。当时没有磁盘方便快速的存储设备,没有操作系统,数据的
14、存储只借助于纸带、卡片、磁带等。以纸带为例,纸带的有打孔和没打孔的两种状态对应数据的“0”和“1” ,以这种打孔和读孔的方式存取数据,可以想象是多么的费人工和费资源。而且这种打过孔的纸带不能长期保存,不能共享,所以很不能满足大数据量的科学计算要的需求。文件系统阶段,大约在 20 世纪的 50 到 60 年代,这时已有了磁盘等快速存取数据的设备,也有了操作系统,而且操作系统中有数据管理软件,我们把这个阶段的操作系统称作文件系统。至此数据可以长期保存,可以共享。数据库系统阶段,大约在 20 世纪 60 年代后,计算机管理规模扩大,多用户和多应用要求数据数据共享,文件系统的方式已远不能满足这种要求。
15、于是产生了数据库管理系统。数据库系统引入了关系数据模型,实现了整体数据的结构化。文件系统中的记录之间没有联系,而关系数据模型(或数据库系统)关系表的记录之间有联系,这种联系我们称之为参照完整性。数据库系统中数据存取的细粒度可以达到数据项级,而文件系统的存取细粒度只能达到记录级。数据库系统的数据共享性和数据独立性都很高。数据库系统由数据库管理系统(dbms)(例如 mysql)统一管理。 数据库系统和网络技术结合发展为现今的分布式数据库系统,得益于此技术,我们可以在不同的位置访问数据库,数据库的管理也可以进行分级和集中控制。支持分布式数据库的 dbms 有很多,mysql 是其中之一,也是本设计
16、要用的,此外还有oracle、access、sql server、sybase 等。这些 dbms 多数都支持关系数据模型。现在的信息管理系统,主要指基于计算机和网络技术的信息管理系统,从计算机通信的角度来看,涉及四种技术:数据存储、数据处理、数据传输和协议。数据存储:这里的信息存储主要是指计算机上的二进制方式的存储。当前高速的存第 1 章 信息管理系统的背景1储技术是基于存储转发方式的网络技术进入实用阶段的重要条件。对于新兴的光交换,这里不作讨论。计算机内部存储器分为随机存储器和只读存储器,随机存储器断电后数据消失。计算机外部存储器断电后文件不丢失,分为硬盘、软盘、光盘等。这些存储媒质很可能
17、就在你办公的抽屉里,你或许还有随身携带 u 盘的习惯。数据处理:这里主要指计算机的中央处理器(cpu)技术,其内部运算器能完成算术运算和逻辑运算。它和数据存储技术配合使用,从而实现内部的的控制器能读取指令,分析指令,执行指令,处理中断。数据传输:数据传输的介质有双绞线、同轴电缆、光导纤维、无线传输介质。协议给数据某种含义,协议的广泛发布使通信现象得以广泛的发生。现在的计算机网络的事实协议是 tcp/ip。可以说当前的任何一个局域网内都需要一个分布式数据库管理系统软件。假设这个局域网是学校的局域网,那么有了支持分布式 dbms 的软件(比如 mysql,包括 mysql-server 和 mys
18、ql-client) ,教务人员就可以方便地在学校局域网延伸到的任何地方,通过计算机访问数据库,对学生等信息进行管理。1.21.2 本设计的目的、意义本设计的目的、意义分布式 dbms 软件一般分为 server(服务器端软件)和 client(客户端软件) ,用户使用 client 客户端访问数据库。但是仅仅使用分布式数据库管理系统的软件来访问数据库,会给普通用户访问数据库带来不便,因为用户要使用客户端来访问数据库,用户每换一个地方就得重装一回客户端才能访问数据库。解决上述方法的办法就是开发一种基于 b/s(browser/server)模式的数据库管理系统。如果应用了这种模式,用户只需要一
19、个网页浏览器就能访问数据库。如果要实现 b/s 模式的分布式数据库管理系统,还需要再搭建一个 web 服务器来存储网页和提供 http 服务。1.31.3 本设计主要工作本设计主要工作本设计主要开发一种 b/s 模式的图书馆信息管理系统。实现了图书的查询、用户的登录。并间接的实现了 wi-fi。所谓的间接是指,学校已有了 wi-fi 环境,本设计通过wi-fi 终端访问到了本设计已搭建的网站。在 wi-fi 已实现的事实的鼓舞下,本设计进一步总结了局域网 wi-fi 的实现方法。在设计过程中也发现一些问题。如用户的密码等敏感信息有可能会被网页编程人员看到。解决的方法是给密码等敏感信息加密。但由
20、于时间、精力有限,本设计没有做这第 1 章 信息管理系统的背景2部分工作。第 2 章 相关技术3第二章第二章 相关理论技术相关理论技术2.12.1 数据库技术数据库技术2.1.1 基本概念数据库是长期储存于计算机内的,有组织的、可共享的数据的集合。数据库管理系统(database management system, dbms),是位于用户有与操作系统之间的一层数据管理软件。它能定义数据,有组织的存取数据,操纵数据,进行事务管理和运行管理,建立数据库,维护数据库。多种存取方法(如索引查找、hash 查找、顺序查找)可提高效存取效率。数据库系统(dbs, database system),是指计
21、算机系统引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。分布式数据库系统。是数据库系统和网络结合的产物。将数据库存放于多台通过网络互联的计算机上,并且可以通过已设好的网络的任意一台计算机访问整个数据库系统(当然访问者需要有相应的操作权限)。分布式数据库系统软件为此分为两部分:服务器软件(server)和客户端(client)。2.1.2 关系数据库关系数据模型通过二维表描述实体及其联系。通常在关系数据模型中的二维表称为关系或表。关系数据模型直接支持实体的一对一和一对多联系。关系数据模型不能显式的支持实体之间的联系,实体之间的联系往往隐含在表的某些属
22、性中。即通过属性的值可以分析出实体之间的联系;通过具有相同含义的属性(可能不同名)可以找出实体型(表)之间的联系。关系数据库具有坚实的数学理论基础。mysql、sql server、oracle 等都是关系数据库管理系统。关系数据库中的基本概念如下:关系:即二维表。多数数据库管理系统的表存储在数据库文件中,但在少数数据库管理系统中,表以独立的文件形式存储。例如,visual foxpro 的一个表对应一个文件。属性:表中的每一列称为一个属性,也称列、字段或数据项元组:表中一行数据称为一个元组,也称一个数据记录关键字:由一个或多个属性组成,该组属性值唯一的属于一个元组。也称候选键或第 2 章 相
23、关技术4候选码。候选码是表中唯一标识元组的最小属性集合。主属性:包含在候选码中的属性称为主属性。主关键字:也称主键、主码、键或码,一个表中可能有多个候选码,将用户选用的那个称为主关键字。主键可标识元组,在建立表之间的联系时也起作用。外码:如果表 a 中有一个属性不是该表的候选码,而这个属性是表 b 的主码,则把这个属性叫作表 a 的外码。在建立表之间联系时主码和外码都起作用。关系模式:用来描述表结构。数据模型主要由数据结构、数据操作和完整性约束 3 个要素组成。关系数据模型是通过二维表描述实体(型)及其联系的一种数据模型,同样具备这 3 个要素。数据结构用于描述属性名、数据类型、内容以及数据之
24、间的联系等,即数据存储的静态性。在关系数据模型中用表(关系)实现数据存储,因此关系数据模型的数据结构主要体现在表的结构上。一个表的性质有:属性的原子性、属性名的唯一性、属性次序的无关性、属性的有限性、属性值域的同一性、关键字非空性、元组次序的无关性、元组的唯一性、元组的有限性。数据操作主要是指对数据模型中的数据和联系所允许的各类操作以及操作规则,即描述数据模型的动态性。完整性约束:数据库旨在反映现实事物,表中各个属性的值受到数据语义的限制。如性别只能是男女。对应的取值用一位二进制表示的话只能是 0 或 1。数据语义也制约属性之间的关系。数据语义还对不同表中的数据带来一些限制,如学生所选的课程必
25、须是学校开设的课程。上述的约束即完整性约束。当代 dbms 仅具有一部分完整性约束检查功能,其余部分交由用户自定义。关系数据模型中有域、实体、参照、和用户定义 4 类完整性约束。sql,是操作关系型数据库的通用语言。可对数据定义、操作、查询和控制。可以作为网络编程人员的工具 ,本设计在后面的设计中会经常用到。图书馆信息管理系统,是数据库系统,又是网络系统。所反映的图书、读者以及管理员之间又有联系,因此构建这样的系统自然得参考分布式数据库系统的模型。上述的分布式数据库软件的服务器端软件和客户端软件,可以很快实现数据库的构建。但访问数据库前用户必须先装有数据库客户端。数据库的这种访问模式称为客户端
26、/服务器模式,简称为 c/s 模式。c/s 模式方便数据的及时更新,也能减少网络流量,方便数据库管理员在指定数据库服务器上做全权的操作。但要想访问数据库,就必需先装第 2 章 相关技术5好客户端,这对移动办公人员(包括管理员和普通数据库访问者)访问数据库造成很大不便。为此出现了另一种访问数据库的模式,即浏览器/服务器模式,简称 b/s 模式。访问数据库(包括 b/s 和 c/s 模式)需要权限,所以要从登录开始。2.22.2 语言基础语言基础2.2.1 htmlhtml 全称是 hyper text markup language,译为超文本标记语言,是显示在前端浏览器的,只要合乎语法,编写的
27、好与坏,基本不影响本毕设功能的实现。但要注意 html的表单功能。因为用户需要用它来将信息提交给 php 程序代码,php 程序代码再根据用户提交的不同的信息给出不同的操作。不同的操作会导致产生不同的结果。最后服务器将依用户提交信息而不同的结果返回到浏览器,正因为如此,php 网页才有了动态效果,称为动态网页。表单的标记是,和成对使用。两者之间夹有常夹有、等标记。各标记的简单语法如下例子:malefemalealienhtmlphpsqldatabase1database2第 2 章 相关技术6将以上代码放在记事本,保存文件扩展名为 htm,用浏览器打开。出现如下界面:上述代码首字母大写的都是
28、关键字。在实际中大小写都可以。type 是标记的输入类型属性,name 是标记的必选属性,name 的值将作为标记的 action属性值所指向的 php 程序(也可用于其它程序,如 asp,jsp,本设计用 php)中超全局变量数组$_post 数组中的键值。这些由 name 属性值命名的键值将和通过标记实现的 value 值组成键值对,存放在$_post 数组中(标记除外) 。关于$_post,在下面的内容中会重点提到。而点击页面中的 borwse 按钮会出现很常见的上传文件界面。html 是 markup language,只负责客户端浏览器的显示,所以这个文件无论是放在服务器还是放在本地
29、磁盘,显示的结果是一样的。而 php 网页有 html 成分,但 php 代码需要服务器端安装的解释引擎解释执行,并得出结果,再将结果嵌入到 html 文件中传给浏览器,如果将 php 文件放在本地磁盘,用浏览器无法正确打开。再看下文 php。2.2.2 php(hypertext preprocess)php 可嵌入 html 代码中。php 代码始于” 。php 有八种数据类型。四种标量类型;整型(integer)、浮点型(float)、字符串型(string)、布尔型(boolean,简写为 bool)。两种复合类型;数组(array)和对象(object)。两种特殊类型;资源(reso
30、urce)和空值(null)。应用字符串时要注意一下它的定界符,以及转义字符。编程中多用双引号作为字符串的定界符。单隐号内可包含的符号类型偏少。php 的变量和常量。php 中使用变量前无需定义。不过用每个变量的时候都要在它前面加上$符号(符称美元符号) 。变量名区分大小写,变量名与其它标识符遵循一样的命名规则;一个有效的变量名为字母或下划线开头,变量名中可包含数字。php 中有若干个预定义常量。常量的值可能会变。关于自定义常量,使用时应注意几点:常量只能用 define()函数定义;一个常量一旦被定义,常量的名称就不能再改变或者取消定义;常量只能包含标量数据,即boolean、integer
31、、float、string;常量名直接用,前面不要加$;如果党果是动态第 2 章 相关技术7的,可以用函数 constang()来读取常量的值;用函数 get-defined_constant()可以获得已定义的常量列表;如果只想检查是否定义了某个常量,可以调用 defined()函数;常量可以在任何地方定义和访问。php 运算符。字符串运算符:“.”是连接运算符;.=是连接赋值运算符。条件运算符包含两个符号“?和:” ,语法如:表达式 1?表达式 2:表达式 3,若表达式 1 的值为 true,则整个表达式的值表达式 2;若表达式 1 式为 false,则整个表达式的值表达式 3。逻辑运算符
32、如下表:and 与&or 或|非!异或xorphp 的流程控制语句如下:(1)选择语句:if 语句,switch 语句用法与 c 语言的类似。(2)特环语句:while 语句,do-while 语句,for 语句(3)跳转语句:break 语句,continue 语句。(4)包含语句:include 语句,include_once 语句,require 语句,require_once 语句php 数组。创建数组用 array()或用“$变量名某值;”的形式。array 有其不可替代之处。foreach()循环语句专用于遍历数组。常用预定义数组如下表:预定义数组变量描述$globals访
33、数组的键名为全局变量的名称$_server从略$_get用户经由 url 请求提交至 php 脚本的变量及其变量值在$_get 中以键值对形式存储第 2 章 相关技术8$_post用户经由 post 方法提交至脚本的变量及其变量值在$_post 中以键值对的形式存储$_cookie经由 http cookies 方法提交至脚本变量名及其变量值在$_cookie 中以键值对的形式存储$_request经由 get,post,cookie 机制提交至脚本的变量名和变量值组成的一组键值对。包括 get、post、cookie 的甩有数据$_files经由 http post 文件上传而提交至脚本的变
34、量,是通过 http post 方法传递的已上传文件项目组成的数组,可用于 php 文件上传编程。用$_files“userfile”“name”可获取客户端机器文件的文件名$_session是注同给当前脚本会话的变量,是包含当前脚本中会话变量的数组,可用于访问会话变量。变量的作用域 :局部变量是在用户自定义函数中引入的变量,作用域就只在此函数内。全局变量在在函数外部定义的变量。若要在函数内部使用全局变量,可以先用global 关键字声明全局变量,然后使用。php 函数。函数名不区分大小写,定义函数要用关键字 function。语法如:function funtion_name($arg1,$
35、arg2,$argn)satementsreturn expr;php 有一些标准函数,或者称内部函数。php 还有一些与日期时间相关的函数: :getdate()getdate(),date()date(),time()time()。php 可以面向对象编程。类和对象是面向对象编程的基本概念。类是对象的模板,对象是类的一个实例。创建类要用关键字 class,类中有属性,有方法。类的属性用 var来声明,类的方法用 function 来声明。方法和函数一样,是语句的堆积。参数可有可无,返回值也可有可无。在类类部调用一个方法时,可用$this 表示一个到调用对象的引用。创建对象要用关键字 new
36、。输出字符串。echo 关键字后 给字符串输出字符串,给变量名输出变量值。echo 后的变量,字符串之间用”.”连接时,其效果相当于将变量和字符串分别用 echo 输出的第 2 章 相关技术9结果连起来构成的字符串。用 print(),输出一个字符串。用 printf(),输出一个格式化的字符串。2.2.3 sql(structured query language)sql 是结构化查询语言,是国际标准的关系数据库的通用语言。不同的数据库管理系统(dbms),都可以设计自己的 sql 语言,但多数是以 sql 为标准的。所以都是大同小异。正是由这种差异一直在优化着我们的 sql 标准语言。sq
37、l 语句很合乎当代英语的表达习惯,用 sql 编程时要选准关键字。这里只列出一些常用的关键字,以提示读者。读者在开始编程以前可以先用这些关键字做造句练习。部分常见关键字列写如下:操作对象database, table, tag, values, array, *, primary key, field , index, view, procedure 操作create, drop, alter, add, set, update, delete, insert, select, ,rename, open, close子句关键字default, from, to, on, in, into,
38、as, like, unique, primary, empty, primary, between, with, and, full, top逻辑判断not, .t., .f., if ,end if, while, check, where, 函数avg, count, max, min, sum第 3 章 b/s 模式描述及平台选择10第三章第三章 b/sb/s 模式描述及平台选择模式描述及平台选择3.13.1 b/sb/s 模式描述模式描述b/s 模式是 browser/server 模式的简写,即浏览器/服务器模式。browser/server中的 server 指的是数据库服务器(
39、database server)。如图:客要实现 browser 浏览,需要网页浏览器和网页服务器。而要实现网页中的逻辑,又需要一种方便编程人员使用的语言,用这种语言编写有逻辑能力的程序放在网页中,并在网页服务器中配置这种语言的解释程序(或编译程序) 。编程人员希望这种程序可以嵌入到 html 文件中,嵌入的方式可以减少网页的数目,而现在主流的三种网络编程语言(php&jsp&php)都支持嵌入式的编写,而实际编程中可以嵌入也可以不嵌入,完全取决于编程人员的喜好,我们把嵌入到 html 文件中的语句统称为脚本。而把支持这种嵌入方式的语言,称为脚本语言。web browser 访
40、问 database server 的过程分为 web browser 访问 web server、web server 依判断作操作、web server 访问 database server 三个部分。分别描述如下:web browser 访问 web server(1)域名解析:用户在 web browser 中输入 url 请求,若 dns 缓存中没有相关数据,则 web browser 先向 dns 服务器发出 dns 请求,dns 解析域名,并将域名和对应的ip 成对的返回给 web browser 并写入 dns 缓存表。(2)web browser 向该 url 中的域名部分对
41、应的 ip 地址发出 tcp 连接请求。经过经典的 tcp 三次握手建立连接。(3)tcp 连接期间,web browser 开始对先前的 url 进行 http 访问。客户端 browserapache 网页服务器mysql 数据库服务器php 引擎httpsql数据源htmlhtml 文件php 文件第 3 章 b/s 模式描述及平台选择11(4)访问结束时断开 tcp 连接。web server 依判断作操作判断 url 指向的网页中有没有嵌入了上述的网络编程语句,如果嵌入了,则由 web server 调用这些语句的解释程序(或编译程序)来解释(或编译)和执行。执行过程中解释程序(或编
42、译程序)会用到用户的数据,并根据数据给出不同的操作,不同的操作导致不同的结果。如果将不同的结果返回给浏览器,则会产生动态的效果(用户访问网页,期望的就是有返回内容) ,由此可以体现出嵌入了网络编程语句的网页的动态能力。这些用户的数据由用户通过 html 的表单以 post 方式、get 方式或 cookie 方式提交给 web server 的内存,供程序使用。web server 访问 database server 先连接数据库系统。如果上述被访问的网页中有网络编程语句,而且该语句中又含有数据库连接函数(在 php 中为 mysql_connect()或 mysql_pconnect()函
43、数) ,则程序尝试连接数据库。如果函数中的用户名、密码和 database server 的名称(ip 地址)都对,则数据库接受访问,否则拒绝并提示出错。连好数据库后,数据库函数会返回一个唯一的数据库链接标识。选择数据库。建立数据库连接后,由选择数据库函数以参数的形式引用先前的数据库链接标识符,选择数据库。开始访问数据库。将用于操作数据库的 sql 语句看作字符串,并以参数的形式嵌入到数据库查询函数中,数据库查询函数将向当前已选中的数据库发送 sql,若 sql 执行正确,则函数返回一个资源标识符。网页程序可以以嵌入式的方式把结果显示到浏览器一端。至此实现数据库的访问。web server 和
44、 database server 之间的接口有三种:(1)在 web 服务器中加中间件。这种方法最为常用。常见的中间件有:cgi(公共网关接口) 、web api(web 应用程序接口) 、php、asp、jsp、java servlet 等。这里选择 php 的 cgi 方式。(2)把程序下载到客户端,在客户端直接访问。(3)前两种方法的综合。3.23.2 平台选择平台选择目前,最常用的三种动态网页语言有 php(hypertext preprocessor)、asp(active 第 3 章 b/s 模式描述及平台选择12pages)、jsp(java server pages)。php
45、称为超文本预处理语言,是一种跨平台的服务器端的嵌入式脚本语言,完全免费,目前支持绝大多数的数据库管理系统软件(dbms)。它大量地借用 c、java 和 perl的语法,读者如果有这三门语言中的一门作为基础,就可以用 php 轻松地进行网页编程。jsp 是 sun 公司推出的动态网站开发语言,有很好的跨平台性。jsp 受 servlet 和javabean 支持。asp 全称为 active server pages,是一个服务器端的动态网页脚本引擎,最初是被微软作为 iis(internet information service)的附属软件发行的,由此可见 asp和 iis 联系紧密。 a
46、sp 默认解释 vbscript 脚本。 php、jsp 和 asp 都能把各自的语句嵌入 html 语言中,由语言引擎解释执行或编译执行。其中 jsp 语句是被整体编绎。html 代码主要负责显示网页的显示,而程序代码负责逻辑运行。逻辑运行后的结果被重新嵌入 html 代码中,然后和 html 代码一起返回给访问该网页的浏览器。跨平台性:php,jsp 跨平台性都很好。asp、asp.net 出自微软,微软又开发自己的操作系统,目前 asp 只能在 windows 下运行。开发成本:经典的 php+apache+mysql 配套方案完全免费,非常适合中小型的 web应用,开发速度也快。jav
47、a 的 web 服务器有免费的 tomcat、jboss 等。还有其它的需要付费的商业版的。asp 的免费方案可以模访 php,但其跨平台性还不及 php。mysql和 apache 跨平台来支持了 asp,而 asp 却不能反过来也以跨平台的方式去支持它们。asp 的局限性很显然。分布式多架构比较:php 二三层,java 多层。关于动态网页,可以用下图来辅助理解第 3 章 b/s 模式描述及平台选择13用户先打开第一个网页,然后在网页里填写表单并提交,提交后由表单指定的 php网显示结果(如图中左下方所示) 。然后在地址栏中重新输入该网址回车后显示图中右下方的网页。显示结果显然不同。动态网
48、页可以根据用户不同的输入返回不同的结果。综上分析,本设计决定使用 php 作为 web 网页编程语言。主要因为 php 是免费的,开源的,跨平台的。这样若是将来以此语言真正做产品开发,可以避免版权纠纷。下面对 php 再作更深一步介绍。选择了 php,那么再总结一下 php 的性质:php 始于 1994 年。php 3.0 是 php 的一个稳定的版本。目前很多程序的扩展名仍是php3.现在的系统大多已经逐渐升级到 php 4.0 以上。使用 php 作为扩展名。php 有下特点:(1)开放源代码。(2)免费,常与免费的 web 服务器 apache 和免费数据库软件 mysql 配合使用,
49、三者都是跨平台的。(3)基于服务器端。(4)图像处理,用 php 可以动态创建图像。(5)强大的数据库支持。php 目前受多数主流数据库管理系统的支持。如mysql、oracle、sybase 等。3.33.3 phpphpapache+mysqlapache+mysql 平台的搭建平台的搭建在开发 php 动态网站之前,首先要搭好 php 的开发环境,主要包括安装和配置第 3 章 b/s 模式描述及平台选择14apache 服务器、php 引擎以及 mysql 数据库服务器。本设计在 windows 上成功地搭建了平台 php+apache+mysql 平台,apache 网页服务器和 my
50、sql 数据库服务器在一台主机上面,主机名用 ip 地址用名,这样在学校的局域网环境下,其它主机也能访问到本设计的搭建的网站。3.3.1 安装,测试 apache 和配置 apache(1)安装和测试 apache具体过程从略。只在在关键项目上给出提示。服务器的网络域名(network domain):localhost服务器名称(server name):localhost还有个单选项:for all users, on port80, as a serverrecommendedonly for the current user, on port 8080, when started ma
51、nually选择第一个选项,则对所有用户开放服务器,并将监听端口设置为 80,访问apache 网站时,在 url 中可以省略此端口号。本设计选择此项选择第二个选项,则仅为当前用户开放服务器,并将监听端口设为 8080,访问apache 网站时必须在 url 中指明该端口号。注windows 平台上,iis 的默认侦听 80 端口。如果计算机上运行着 iis 服务,应该把 iis 的装口改为其它。安装完成后,可用 ie 对其测试。在 http 网页浏览器的地址栏中输入http:/localhost/,若 apache 服务器配置没有问题,将会收到只显示“it works!”的网页。这个网页实际
52、是 index.html,该网页存储在 apache 的根目录,而且默认情况下这个网页只有命名为 index 才会这样显示。如果在根目录里把这个文件名修改为其它的名字,则根目录里没有了 index 文件,根目录里的所有文件和文件夹就会显示出来。本设计的大环境是学校的局域网内,ip 地址固定,为了能在局域网上的其它机器上也访问到服务器,用真实的 ip 地址替换了 localhost,尝试成功了,全校局域网用户(使用代理的除外)都能访问到本设计的服务器。由此也提醒有类似局域网环境的读者也可按此方法尝试。(2)配置 apacheapache 的配置信息保存在一个名为 httpd.conf 的文本文件
53、中。该文件称为 apache第 3 章 b/s 模式描述及平台选择15的主配置文件,包含许多用于配置 apache 服务器的指令。其中 listen 指令用于设置 apache 服务器监听的 ip 地址和端口,目前是 apache的必选指令。documentroot 指令,用于设置网站文档的根目录。apahce 网站的根目录默认设置为安装目录下的 htdocs 文件夹。alias 指令用来映射指向文件系统某个物理目上录的 url,也就是在 apache 网站中创建一个虚拟目录,注意,若 url 中后缀有”/” ,则在对应的物理目录的路径也加上”/” 。用 alias 建立了一个虚拟目录后,可以
54、用指令设置目标目录的记问权限。 directory index 指令,用于设置客户端请求一个目录时寻找的资源列表,也就是为网站指定一组默认文档。服务器返回最先找到的那个。如果一个也没找到,并且已对该目录设置过了 index 选项,则服务器将会自动产生该目录的一个资源列表。之前在测试 apache 时,输入”http:/localhost” , 之所以能打开 index.html 页面的根目录,正是因为在配置文件中已默认把 index.html 设为 apache 根目录的索引(请求根目录时会显示) 。重启 apache 可以让配置快速生效。3.3.2 安装和配置 php,让 apache 支持
55、 php如前所述,apache 服务器可以直接响应客户端对 html 网页的请求,但若在 php 中嵌入了 php 脚本,则要求在服务器安装并配置 php 语言引擎,此外还要配置apache(修改 httpd.conf) ,以使服务器接受客户端对 php 网页的请求。下载安装php。一般选有 win32 标识的,选压缩包。安装时只要将压缩包解压到指定的文件夹即可(对初学者实用) 。安装和配置 phpphp 配置选项保存在 php.ini 文件中。把 php 目录中的 php.ini-dist(实际名称可能有变化,具体参考相应 php 版本的自述文件)文件复制到 apache 目录中,然后把复制
56、后的文件重名命为 php.ini。用文本编辑器(记事本)打开 php.ini,开始设置:(1)设置动态模块的路径。查找“extension_dir” ,把该选项的值改为动态链接库 php_*.dll 的路径。(2)设置 php 的文档根目录。查找到“doc_root” ,把其值设为前面 apache 所配置好的网站根目录。(3)设置会话信息的保存路径。查找“session.save_path” ,该项默认值一般为:第 3 章 b/s 模式描述及平台选择16;session.save_path=”/tmp”移除选项前面的分号,使配置生效。路径值可以自行设置。(4)设置错误信息显示选项。查找“di
57、splay_errors” ,将值设为“on” 。启动错误显示。(5)设置服务器默认时区。查找到“date.timezone” ,移除其前面的分号。若该项的值为”prc” ,则表示是中华人民共和国。让 apache 支持 php修改 httpd.conf 文件。在 apache 服务器环境中,php 可以有以下两种运行方式:cgi 二进制文件方式。此时需要把以下代码添加到 httpd.conf 文件中:scriptalias /php/ addtype application/x-httpd-php.phpaction application/x-httpd-php”/php/php-cgi.
58、exe”ddl 动态链接库模块方式。此时,先要把 php 安装目录中的 php5ts.dll 文件复制到 windows 系统的 system 文件夹中,然后在 httpd.conf 文件末尾加入两行代码:load module php5_module “/php5apache2_2.dll”addtype application/x-httpd-php.php本设计选 cgi 二进制文件方式。测试 php安装和配置 php,设置 apache 支持 php 后,通常需要一个 php 动态网页,来对 php引擎测试。要想让 web server 能执行文件中的 php 代码,文件的扩展名应为”
59、.php“或”.phtml“。实际上,用“”一条语句就可以测试。其中“”是 php 脚本代码的定界符;phpinfo()函数用于输出 php和相关信息。把网页保存在 apache 网站文档的根目录或其子目录下,为方便测试,这里放于根目录。打开 ie,输入 url:localhost。若成功则会显示一个很经典的网页界面,包含 php 的详细配置信息。否则失败。3.3.3 安装和配置 mysql(1)选择安装类型本设计选 custom(定制)第 3 章 b/s 模式描述及平台选择17mysql server(服务器)client progam(客户端)c include file/lib file
60、s 选项,选中该项估计功能更强大些本设计三者都选若安装过程中选中了 configure the mysql server 选项,安装过后将启动 mysql配置向导(configure wizard) 。也可以稍后自行配置。具体选项如下:(2)选择配置类型选择 detailed configuration(详细配置) 。不选 standard configuration(标准配置)。(3)选择服务器类型developer machine(把 mysql 用于开发目的,此时当前计算机上可以运行其它应用程序,mysql 只占小部分内存)server machine(把 mysql 用于后台数据库服务器,此时计算机还可以用作 web 服务器或者应用程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游戏机械设计注册工程师面试技巧
- 中国石化工程师的职责及招录面试全解
- 电子商务平台财务审计的注意事项
- 三年(2023-2025)辽宁中考语文真题分类汇编:专题03 语法分析与病句(原卷版)
- 游戏制作公司项目主管如何带领团队成功的经验
- 文化创意产业策划师面试全解
- 有关海底捞的演讲稿
- 刘强东户外演讲稿
- 全屋定制公司管理制度
- 2026年信息技术在医疗健康领域的应用与发展趋势试卷
- 《房屋市政工程生产安全重大事故隐患判定标准(2024版)》解读
- 广东省华附、省实、广雅、深中四校2024-2025学年高二下学期期末联考试题 政治含答案
- 《文学理论》第九讲:文学风格、流派与思潮
- 柴油加氢催化剂课件
- 部编人教版五年级下册小学语文全册教案(教学设计)(新课标核心素养教案)
- 慢性肾脏病合并心衰的护理
- 天津社保政策培训课件
- 颅内血肿穿刺引流图文详解
- 实验室定置管理制度
- 2025年口腔医学主治医师资格考试《相关专业知识》真题卷(附每题答案)
- 妇产科院感测试题及答案
评论
0/150
提交评论