一、选题目的和意义
基于Web的多彩文本信息系统,它是一种以Web为基础的超文本系统。多彩文本信息系统不仅能够对文本进行编辑、而且可以将所写的文本内容存储和再现。随着计算机网络的快速发展,普通的文本留言系统已经很难满足我们的需求,因此多彩文本留言系统随之出现。它不仅仅具有普通文本留言系统的特点,而且使单调的文字变的丰富多彩,用户可以对所写的文字任意的更改文字大小、字体、加粗、倾斜、添加链接、添加图片等,产生图文并茂的文字效果。这一方法的实现,将会对信息发布中需要使用普通文本的地方,如考试系统中试题题目、文章管理系统、办公系统公文的题目或正文等需要特殊格式的文本甚至图片等应用,具有重要的实际意义。
通过设计对多彩文本信息系统有一个深入的了解,设计实现课题说明书中所描述的功能,来认识多彩文本的实现原理,并且希望通过这次的实践来运用所学知识,来培养我的动手能力和合作能力,故选择基于Web的多彩文本信息发布做为我的毕业课题。
二、本选题在国内外的研究现状和发展趋势
多彩文本技术是互联网应用中比较流行的技术,它提供给用户一个在网页中进行“所见即所得”的能够进行图文混排,类似Microsoft Word的多媒体内容编辑环境。此种技术手段在国内外已经得到普遍应用,如在网易的电子邮件系统中,它被称为“多媒体编辑器”;在“中国人”的校友录中,它被称为“多彩文本”。有的公司专门开发此类的中间件,用以构建Web版的Word、Excel等为特征的网络办公系统。
在网络中,能够象在Word中那样,自由书写,发送或发表图文并茂,多彩绚丽的多媒体信件、文章等,更为符合人们的习惯,是人们在互联网中自然的需求,因此,多彩文本技术的研究和应用是必然趋势。
三、课题设计方案 [主要说明:研究(设计)的基本内容、观点及拟采取的研究途径。]
1.研究的基本内容:
搭建开发环境。
多彩文本信息系统的前台考察。(注:文本编辑界面中的文字操作) 实现对文本的一些基本操作,如加粗、倾斜、加背景色等。根据要实现的功能选定能够实现这种功能的语言,并查阅有关的资料进行一些必须的准备工作。
多彩文本信息系统的建摸和前台的设计。
设计算法,选择相关的程序设计语言对前台相关操作的实现。(包括对文本内容的剪切、复制、粘贴、字体类型、对齐、表情等模块功能的实现。)
2.基本观点:
多彩文本信息发布对文字编辑自由化、字体多样化、图文混排化、编排实时化等提出了许多新的要求,力求设计简单、实用、方便。
3.方法:
运用Apache+PHP+MySQL平台,java script和HTML语言及CSS样式表进行设计;理论研究与实践相结合,以软件的实用性为目的,严格按照软件工程的设计方法做好需求分析,可行性分析等。参考国内外已经取得的研究成果,认真研读参考资料。运用所学的知识设计出合理的算法和模块化程序,把该软件进行设计,接着在单机上测试和实现出来,达到预期的效果。
四、计划进度安排 [主要说明:起止时间及分阶段的进度要求。]
第一阶段: 起止时间:2005.10.1-2005.10.20
进度要求:撰写开题报告书。
第二阶段: 起止时间:2005.10.21-2005.11.15
进度要求:熟悉开发工具,搜集相关资料。
第三阶段: 起止时间:2005.11.16-2006.12.22
进度要求:确定设计具体要实现的内容,进行可行性分析;编写程序并基本实现系统功能;撰写系统测试计划。
第四阶段: 起止时间:2005.12.23-2006.1.15
进度要求:进一步完善系统功能,进行系统测试与修改,完成系统开发设计撰写文档,准备毕业答辩。
五、主要参考文献
1 张海藩.软件工程导论.第四版.北京:清华出版,2003年.
2 萨师煊.计算机系统概论.第三版.北京:高等教育出版社,2000.2.
3 白鉴聪.王进.java script网页效果大师.机械工业出版社,2003.
4 白鉴聪,潘军锋,罗剑波等.PHP4编程与实例.第一版.北京:机械工业出版社,2001.1.
5(美)Paul McFedries著 欧阳宇,张治坤等译.java script开发使用手册.机械工业出版社, 2002.2.
6 (美)Jesus Castagnetto等著 薛忠胜,扬登峰等译.PHP高级编程.机械工业出版社,2001.1.
7 季强.新编Dreamweaver MX网页设计与制作.第四版.西北工业大学出版社,2004..9.
8 德州学院教务处..附件1:毕业文档(设计)格式参考样例.2006.3.
指导教师意见及建议
摘要:近年来,随着互联网的迅猛发展,基于Web页的产品也逐渐盛行和受人们欢迎。基于Web的多彩文本信息系统,是一种以Web为基础的超文本系统,多彩文本信息系统不仅能够对文本进行编辑,而且可以将所写的文本内容存储和再现。本多彩文本使用Dreamweaver、PHP、Apache、MySQL软件及java script制作完成,主要作为一种中间插件来使用。可以对文本文字进行各种设置,如字号、字体、颜色、加入超链接、加入表情等,其布局主要是通过使用CSS样式进行精确定位,实现原理主要是通过使用java script脚本函数事件驱动原理的相互调用来实现。
关键词:互联网,Web,Dreamweaver,PHP,Apache,MySQL,java script,CSS
1 引言
1.1 选题背景
多彩文本技术是互联网应用中比较流行的技术,它提供给用户一个在网页中进行“所见即所得”的能够进行图文混排,类似Microsoft Word的多媒体内容编辑环境。此种技术手段在国内外已经得到普遍应用,如在网易的电子邮件系统中,它被称为“多媒体编辑器”;在“中国人”的校友录中,它被称为“多彩文本”。有的公司专门开发此类的中间件,用以构建Web版的Word、Excel等为特征的网络办公系统。
在网络中,能够象在Word中那样,自由书写,发送或发表图文并茂,多彩绚丽的多媒体信件、文章等,更为符合人们的习惯,是人们在互联网中自然的需求,因此,多彩文本技术的研究和应用是必然趋势。
1.2 选题目的和意义
主要目的是研究在信息发布系统中,客户端如何生成和表示多彩文本,如何在服务器中存储多彩文本,如何从服务器获取和再现多彩文本。这一方法的实现,将会对信息发布中需要使用普通文本的地方,如考试系统中试题题目、文章管理系统、办公系统公文的题目或正文等需要特殊格式的文本甚至图片等应用,具有重要的实际意义。
本课题的研究工作,对锻炼我的Web开发技术,科研能力等,具有实际的实践意义. 通过设计对多彩文本信息系统原理有一个深入的了解,并且希望通过这次的实践来运用所学知识,来培养我的动手能力和合作能力,故选择基于Web的多彩文本信息发布做为我的毕业课题。
1.3 研究内容
本设计前台主要是搭建工作平台,研究多彩文本所应该具有的功能,如实现字体的大小、加粗、倾斜、下划线等,实现这些具体功能所必须的实现脚本语言;主要是实现多彩文本的精确定位,及实现相应图标所对应的功能函数。
1.4 可行性分析
可行性分析主要是从经济、技术、操作三方面进行的。
经济可行性
主要是对项目的经济效益进行评价,本系统作为一个毕业设计,无需开发经费,对于我系在经
济上是可以接受的,并且本系统实施后可以得到一个实时化的在线编辑器,通过后台的实现即可所见
即所得,所以本系统在经济上是可行的。
(2) 技术可行性
技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。软件方面,需要的各种软件环境都已具备,数据库服务器方面则有MySQL Server,Oracle等,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为后台的实现提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
(3) 操作可行性
目前,计算机的性能得到较高的提升及其价格也有较大的下降,故为其进入普通家庭做了很好的铺垫,从而满足普通个体用户,各学校等各企事业单位上网需求.本多彩文本信息发布系统简单易懂,不用特别培训即可自由使用。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。根据其所要实现的功能及其操作,整个设计的系统流程图如图1
图1 多彩文本的前台系统流程图
1.5 具体工作分配
我的毕业设计是和赵耀栋同学一起合作他负责后台实现,把前台的格式化文本实现再现;我负责前台功能的实现,实现文本编辑框的格式化。实现此功能的编程语言有Vbscript和Java Script,我所用的是java script脚本语言来实现的的。
2 运行环境的搭建及java script的简介和特点
2.1 运行环境的搭建
由于我们是由两人合作共同开发的,所以运行环境的搭建成功与否也是整个程序能否正常运行的关键,故在此先详细叙述一下运行环境的搭建问题。
PHP服务器环境需要以下3个服务器端系统软件
Web服务器软件:Apache 1.3.14
PHP语言解释器软件:PHP 4.0.4
数据库服务器软件:MySQL 3.23.43
2.1.1 PHP的安装和配置
(1)安装
①将PHP-4_0_4压缩包解压缩到d:\php下
②将d:\php下的php4ts.dll移动到c:\操作系统安装目录\system下
③将d:\php下的php.ini-dist复制到c:\操作系统安装目录 下,更名为php.ini
(2)配置:通过修改php.ini中的参数来实现。对MySQL而言,若无特殊要求,一般无须配置,因为PHP在php.ini中已经做好了对MySQL的配置,所以一般无须修改。
2.1.2 Apache的安装和配置
(1)安装软件:双击Apache_1_3_14_win32.exe,按照提示,安装到d:\apache下,即完成安装。
(2)配置服务:单击[开始]->[程序]->[ Apache Web Server]->[ Management]->[ Edit configuration],
打开Apache的配置文件httpd.conf,按表4提示进行配置,完毕后,保存。
注意:
所谓“修改”,即对该文件中已经存在的参数,修改其参数值;所谓“添加”,即将该文件中缺少的参数和参数值增加到该文件中相应位置,为了省事,也可以放到该文件的最后。
每处的配置要想起作用,必须将行首的#号(注释符号)去掉。
描述以httpd.conf文件的行文顺序进行。
表中路径、地址、主机名、信箱等,实际配置时请根据自己情况进行。
每次配置变动后一定要保存,并启动或重新启动Apache的服务,所做的最新配置才会起作用。
示例路径:PHP安装路径——d:/php;发布文档(即文件)主目录——d:/www
表1 Apache配置参数设定
参数名和参数值 操作 作用
① BindAddress 服务器机器IP 修改 进行地址绑定(指定服务器地址)
② LoadModule php4_module
d:/php/sapi/php4apache.dll 添加 指明将PHP配置为Apache的模块(Apache module)方式进行工作时的PHP语言解释器
③ Port 80 修改 指定Apache对外提供Web服务的通信端口
④ ServerAdmin 服务器管理员邮箱(如abc@abc.com) 修改 当发生错误时送回客户端浏览器的管理员信箱
⑤ ServerName 服务器的计算机名称 修改 指明主机名称
⑥ DocumentRoot "d:\www" 修改 指明向客户端提供Web服务的发布文档主目录
⑦ 修改 发布文档主目录定义,该处目录的值应与⑥中的一致
⑧ ScriptAlias/php/ "d:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe" 添加 指明PHP脚本语言名称和PHP脚本语言解释器的路径
指明PHP脚本扩展名
指明PHP脚本解释器(PHP以非模块工作时起作用)
⑨ DirectoryIndex index.php 修改 指定默认文档(主页文档,只请求服务器地址就响应的文档)
(3)Web服务的安装和启动
安装Apache服务
将Apache在Windows操作系统服务中注册。单击:[开始]->[程序]->[Apache Web Server]-> [Apache as a service]->[Install service]。
启动Apache服务
单击:[开始]->[程序]->[Apache Web Server]-> [Apache as a service]->[ Start Service]。
(默认情况下,每次操作系统启动时自动启动该服务,可更改)
2.1.3 测试Apache对PHP的支持
(1)测试目标:检查二者是否能够正常协作
(2)测试方法
用记事本或uedit编写测试脚本,存为d:\www\index.php,内容为:
echo phpinfo();
?>
说明:phpinfo()是PHP内置函数,用来显示PHP和Apache配置信息。
②在浏览器中敲入http://你的机器的IP地址,回车后若显示PHP配置页面,则说明配置达到了上述的测试目标,Apache与PHP能够正常协作;若不显示类似画面,则配置有误,此时的Apache不能够识别PHP脚本,需更改配置。
2.1.4 MySQL的安装和启动服务
(1)安装
将MySQL-3.23.43压缩包解压缩后,双击setup.exe,按照提示,进行安装。
根据指定安装路径的不同,安装可采取的方式有:
①默认安装:安装过程中不指定安装路径,采用默认的c:\MySQL。采用该种方式安装,一路按“下一步”按钮即可完成。
②定制安装:安装过程中指定自己的安装路径(如:d:/MySQL),而不是采用默的c:\MySQL。采用该种方式安装完成后,需要做一个配置文件,将MySQL的有关信息向操作系统特别声明一下。具体方法是:用记事本或uedit创建一个文件my.ini 保存在你的操作系统安装目录下,该文件内容如下
[MySQLd]
basedir=d:/MySQL/
datadir=d:/MySQL/data/
注意:我们用定制安装方式
(2)启动服务程序
双击d:\MySQL\bin下的winMySQLadmin.exe(MySQL服务程序),这样就会在操作系统的后台服务中注册并启动MySQL服务程序(默认情况下,每次操作系统启动时自动启动该服务,在Windows2000的服务中可更改其启动方式)
(3)MySQL数据库连接测试:通过MySQL的客户端程序MySQL.exe,测试其与服务程序的连接是否正常,服务程序是否能够正常工作。
启动客户端程序MySQL.exe:在命令提示符或MS-DOS下,进入d:\MySQL\bin,键入命令MySQL回车。
若出现类似如下结果:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26 to server version: 3.23.43
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
MySQL>
则表明本测试成功。键入exit回车,可退出与MySQL服务器的连接。
2.2 java script的简介及特点
java script语言的前身叫作Livescript。自从Sun公司推出著名的JAVA语言之后,Netscape公司引进了Sun公司有关JAVA的程序概念,将自己原有的Livescript 重新进行设计,并改名为java script。
java script是一种基于对象和事件驱动并具有安全性能的脚本语言,有了java script,可使网页变得生动。使用它的目的是与HTML超文本标识语言、JAVA 脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。它是通过嵌入或调入在标准的HTML语言中实现的。
2.2.1 java script具有很多优点:
(1)简单性 java script是一种脚本编写语言,它采用小程序段的方式实现编程,像其它脚本语言一样,java script同样已是一种解释性语言,它提供了一个简易的开发过程。它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。
(2)动态性 java script是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服
务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,就称为“事件”。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
(3)跨平台性 java script是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算
机,就可以执行。
java script是一种基于客户端浏览器的语言,用户在浏览中填表、验证的交互过程只是通过浏览器对调入HTML文档中的java script源代码进行解释执行来完成的,即使是必须调用CGI的部分,浏览器只将用户输入验证后的信息提交给远程的服务器,大大减少了服务器的开销。
2.2.2 java script与JAVA的区别体现在:
首先,它们是两个公司开发的不同的两个产品,JAVA是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而java script是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言。
其次,java script是基于对象的,而JAVA是面向对象的,即JAVA是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。java script是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象和事件驱动的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。
第三,两种语言在其浏览器中所执行的方式不一样。JAVA的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。java script是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,由浏览器解释执行。
第四,两种语言所采取的变量是不一样的。JAVA采用强类型变量检查,即所有变量在编译之前必须作声明。java script中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。
第五,代码格式不一样。JAVA是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。java script的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。
第六,嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,java script使用 来标识,而JAVA使用来标识。
第七,静态绑定和动态绑定。JAVA采用静态联编,即JAVA的对象引用必须在编译时进行,以使编译器能够实现强类型检查。java script采用动态联编,即java script的对象引用在运行时进