摘 要
该系统是一个基于web的软件。该系统的客户端采用javascript和php作为平台的开发语言,Mysql作为后台数据库,Apache2.0作为web服务器。该系统用javascrit脚本在客户端封装表单里面的数据并将这些数据封装成xml字符串,然后发送这个字符串给服务器。在接收到送服务器端发送来的xml之后,系统用javascript脚本解析xml然后填写到表单中去。他们可以按时的发表自己的论文。系统也提供学生和导师的论文交互平台,论文交互平台采用了php脚本编写了数据库操作类和常用函数类,然后用这些类创建新的对象来使用对象中的方法,比如数据库连接的方法,数据库查询方法,上传论文的方法等。并用了Apache的rewrite模块来重定向请求的url。这篇论文还介绍了Smart template系统和它扮演的角色,还用一个例子来描述了怎么使用它来将php脚本和html代码分离。论文中还解释了在系统开发期间遇到的一些问题,比如修改mysql数据库密码的问题和其他的问题。
关键词:javascript;xml;php;mysql;Apache;论文
The Essay Formatting System
——Front-side Design and Implementation
Abstract
This system is a software which is based on web. The front-side of this system uses javascript and php to take the onstage development language. Mysql makes the backstage database.Apache2.0 makes the web server. This system uses javascript script on fornt-side to get the from’s datas and encapsulate these datas to a xml string, then send the string to server. After received the xml data from server, system uses javascript script to parse the data then fill it into the form. This system also provides a essay exchange stage. The essay exchange stage uses php script to write database operation class and common functions class then uses these classes to create new objects to execute the functions of the object, such as database connect function, database query function, upload essay function and so on. And uses the rewrite module of Apache to redirect the request url. This essay also introduces the Smart template system, the role played by it and give an example to describe how to use it to separate php script from html code. In this essay also explain some problems during development system such as modify the password of mysql database and other problems.
Key words: javascript; xml; php; mysql; Apache; essay
目 录
1引言
在人们繁忙的工作环境中,很多资料文件都要形成规范化的文档便于分类和存放,信息化的社会已经将以前手工抄写文档全部用电脑办公平台提供的统一的文档编辑软件所取代,当然所编写的文档的格式也是统一化的,包括文档中内容的字体,字号,标记,页码等等都是统一的。比如美国微软公司的Word文档格式,这种格式已经成为了世界的一种标准,全世界通用,再比如Adobe公司的PDF文档格式,也是一种世界标准,是人们常用的一种文档格式。然而在日常的办公中,人们需要在文档编辑软件中编辑文档,需要花费大量的时间和精力来编辑文档的格式,比如字体,字号等等,对于同一类的文档来说,格式都是规范化好了的,但是文档编辑器不可能提供每一个规范好了的模板,因为各个地区或者企业他都有自己的规范,人们需要自己去编辑,这样话就降低了办公的效率,对于个人和企业来说都是在浪费时间,提高了成本。于是聪明的人开始想办法解决这个问题,新的软件由此产生了,涌现出了很多的PDF,Word文档的转换软件,他们很强大,不仅可以将PDF转换为Word,也可以将Word转换成PDF格式,有的也可以转换其他格式的文档,比如将Html文档转化成PDF文档。
考虑到高等学府中教师,学生也要写论文,而且所写的论文要保存为特定格式的文档,保证论文的规范化,为此,我们设计了一套系统专门提供给毕业生将论文转化为规范的格式,省去大量的论文编辑时间,提高论文发表的效率,降低论文修改的频率,给同学们带来巨大的方便。我们将系统定位于B/S模式,主要考虑到系统易用性,客户机只需要安装了IE浏览器就可以通过访问网站的形式使用论文格式化系统,只是本系统一大优势。本系统后台采用JSP开发,前台采用php和javascript开发,服务器环境采用windowsNT+Apache Tomcat+Mysql。后台开发工具使用Eclipse,前台开发工具使用EditPlus和DreamwearMX。
2系统需求
2.1系统需求概述
系统用于辅助大学毕业生毕业论文写作,给学生提供统一的文档规范格式化平台,并且需要一个方便学生和老师沟通的信息化平台。系统运行在网络环境,需要具有实用性,易用性和高效性。
2.2系统详细需求分析
2.2.1基于web开发
系统在网络环境下工作,采用B/S模式进行开发,需支持至少一种主流浏览器,系统字符集采用UTF8。
2.2.2格式化文档
用户提交表单后,后台需要能生成RTF和PDF文档,并自动提示用户下载存。
2.2.3前台需求
1.前台用户操作简易且人性化,支持用户填写信息的格式验证,不正确将给出提示;
2.支持学生、导师注册,填写信息验证,不正确将给出提示,填写信息完整才可进行提交;
3.支持学生、导师登录,填写信息验证,不正确将给出提示;
4.支持学生取回记录,自动还原到用户论文填写表单;
5.支持学生上传记录,自动风装成xml文件格式发送给服务器;
6.支持学生上传论文,只有学生有上传权限操作,上传选择文件,支持文件后缀名有pdf、rtf、doc、docx、rar、zip,并且有上传文件描述;
7.支持导师下载查看学生上传论文,只有导师有权限操作,导师只能查看到自己的所带学生上传的论文;
8.支持导师提出修改意见和评定分数,只有导师有权限操作,意见和分数与学生上传记录一一对应;
9.支持后台管理,包括后台管理用户的管理,学生管理,导师管理,院系管理,上传论文的管理,资源发布的管理,用户留言的管理,只有后台管理员有操作权限,并且后台管理员可以拥有不同的操作权限,例如可以只能有资源发布权限,具有后台管理用户管理权限的管理员可以给不同的管理员分配操作权限。
2.2.4性能需求
1.安全性,后台管理设置管理者权限,学生、导师各有各的操作权限;
2.系统需要易用性和实用性,必定实现关键的功能;
3.能承受大的负荷,选用合适的开发环境,包括web服务器,数据库和开发语言。
3方案选择
3.1方案比较
3.1.1系统模式比较
目前开发模式主要有C/S结构和B/S结构:
C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
3.1.2程序语言选择与比较
1、PHP语言概述
PHP(Hypertext Preprocessor),它是一个递归的缩写名称,是一种 HTML 内嵌式的语言 (类似 IIS 上的 ASP)。而 PHP 独特的语法混合了 C、Java、Perl 以及 PHP 式的新语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。
PHP 最初是在公元 1994 年 Rasmus Lerdorf 开始计划发展。在 1995 年以 Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本
PHP 的第三代 与Apache 服务器紧密的结合,并且它几乎支持所有主流与非主流数据库,执行效率也提高了很多。
PHP 的第四代增加了关Zend 核心引擎技术,整个脚本程序的核心大幅改动,让程序的执行速度,满足更快的要求。
PHP 的第五代,也就是PHP5,它比PHP4更具有了面向对象的特征,目前php第五代也稳定了。
2、PHP与JSP的比较
PHP与JSP技术非常相似,两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。并且双方都能够为程序员提供组件设计的功能,(PHP使用COM组件、JSP使用Java Bean组件)。两者都是面向Web服务器端的脚本语言,客户端浏览器不需要任何附加的软件支持。
两者之间主要的区别:
①平台和服务器的选择
PHP本是一个开源项目,它支持的主要操作系统是Unix和Linux,当然随着PHP的成熟,windows平台下也可以使用PHP,而且PHP的移植性很好。它所支持的数据库含盖了世界几乎所有流行的数据库,比如:mysql,oricle等,甚至包括Access。
JSP技术主要运行在操作系统上的一个Java Virtual Machine虚拟机器上,因此,它能够跨越所有的平台,而且jsp比php跟适合企业级的开发,它的安全行更好,但jsp并不是一个开源的项目, 随着php的成熟jsp将面临着php的挑战。
②语法结构
Jsp是一种完全面向对象的语言,而php混合了 C、Java、Perl 以及 PHP 式的新语法,所以jsp相对php更为严紧,而php则更为自由和灵活。当然两者都是一种可嵌入HTML的语言。
③语法的延展性
PHP和JSP都是使用标签和Scripting Language来制作动态WEB网页,PHP的版本不同具有不同特性,比如PHP5比PHP4更好的支持了面向对象的特征,但不能支持多重继承,而JSP是一个完全面向对象的语言,它的延展性相对PHP更为优秀。
④执行性能
自从PHP4采用了Zend引擎以来,PHP的执行速度是原来10倍之多,大大提高网页执行的效率,很多商务网站采用PHP制作来提高赢利能力。而JSP除了在一开始加载的时间会比较久之外,之后的表现就远远比ASP的表现来得好。原因在于:JSP在一开始接受到请求时,会产生一份Servlet实体(instance),它会先被暂存在内存中,一般称之为持续(Persistence), 当再有相同的请求时,这实体会产生一个线程来服务它,如果过了一段时间都不再用到此实体时,Container会自动将其释放,至于时间的长短,通常都可以在 Container上自行设定。所以两者各有所长。PHP的执行过程如图3-1所示:
图3-1 php的执行过程
从以上的比较中可以看出,php比jsp更适小中级别的web程序开发,由于我们的系统的需求并不是很复杂和庞大,而且php完全满足系统的要求,综合考虑下选择了的php作为开发语言。
3.1.3数据库的选择
本系统的数据库选用的是mysql。首先,它提供了以Web标准为基础的扩展数据库编程功能,可支持Web的分析,对数据的Web访问。其次,它具有良好的移植性,可以移植到几乎所有平台。最后,它是免费的,极大的节约了成本。
3.1.4开发工具的选择
EditPlus 是phper的经常用到的工具,它很小巧,速度很快,可以高效率进行程序的编写,由于其他的更强大的编辑器提供了很多方便的功能不便于对PHP语言的学习,一旦脱离了强大的编辑器就不能编写PHP程序,所以我选用了EditPlus2.0。前台页面设计,使用了 Dreamweaver MX 2004。
3.2环境搭建
3.2.1安装Apache web server
选择Apache2.0.55版本,安装路径为:E:\ Apache Group\Apache2,安装完成后进行以下的配置:
先打开E:\ Apache Group\Apache2\conf\ httpd.conf文件,找到DocumentRoot,在这里设置web程序所放的地方,我把它设置为E:\www,以后我的所有web文件都放在这个目录下面;然后找到DirectoryIndex项,在后面添加index.php,这是将index,php设置为默认的首页;添加AddType application/x-httpd-php .php这一项,这是将php与apache进行整合,apache得到请求会通知PHP执行程序;添加PHPIniDir C:/php4/php.ini,这里我用的是php4,php.ini是php的配置文件,等会谈php的安装的时候说明;添加LoadModule php4_module C:/php4/php4apache2.dll,这也是整合php和apache重要的一项配置;找到LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的”#”号,找到AllowOverride None,把None改成All开启rewrite模块。
3.2.2安装PHP
将下载的PHP4包解压到C:\php4下面,重命名php.ini_dist为php.ini,打开php.ini进行配置:
找到extension_dir,将之改为c:/php4/extensions,这个目录下是php要使用的dll,找到extension=php_mbstring.dll等,去掉前面的”;”号加载需要的动态链接库。找到shorttarg,设置为ON,防止php中“<? ?>”这种写法被阻止。
3.2.3安装Mysql
去www.mysql.com 下载windows下的二进制安装包,下载完成后默认安装,但需要注意的是在细节配置中将mysql的默认字符集设置为utf8。
4总体设计
4.1系统架构设计
4.1.1网络架构
整个网络架构体系如下图:
图4-1 论文格式化系统(前台)网络构架图
图5-3首页
图7-1 上传记录界面
图7-2 系统管理员登陆界面
图7-3 系统管理管理界面
图7-4 学生首页界面
如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。