论文格式化系统毕业设计论文.doc_第1页
论文格式化系统毕业设计论文.doc_第2页
论文格式化系统毕业设计论文.doc_第3页
论文格式化系统毕业设计论文.doc_第4页
论文格式化系统毕业设计论文.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)论文格式化系统前台的设计与实现论文作者姓名:申请学位专业:申请学位类别:指导教师姓名(职称):论文提交日期:第2页 共26论文格式化系统前台的设计与实现摘 要该系统是一个基于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 systemfront-side design and implementationabstractthis 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 froms 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目 录论文总页数:27页1引言12系统需求12.1系统需求概述12.2系统详细需求分析12.2.1基于web开发12.2.2格式化文档22.2.3前台需求22.2.4性能需求23方案选择23.1方案比较23.1.1系统模式比较23.1.2程序语言选择与比较33.1.3数据库的选择43.1.4开发工具的选择53.2环境搭建53.2.1安装apache web server53.2.2安装php53.2.3安装mysql54总体设计64.1系统架构设计64.1.1网络架构64.1.2系统逻辑服务器64.2总体结构74.3系统工作流程图75实现和编码85.1数据库设计85.2数据库表结构设计95.3系统程序实现125.3.1前台javascript程序工作流程125.3.2首页的设计与javascript封装xml135.3.3通过xmlhttprequest对象发送xml145.3.4smart template简介155.3.5smart template在本系统中的运用155.3.6系统数据库封装与操作155.3.7系统常用函数封装设计175.3.8apache rewrite功能在系统中的运用176特殊问题解决办法196.1mysql数据库密码修改问题196.2php自动转义问题197测试与结果分析197.1运行模块举例197.1.1前台上传记录模块举例197.1.2系统管理员模块举例207.1.3学生功能模块举例217.1.4导师功能模块举例227.2测试结果与分析23结 论24参考文献25致 谢26声 明271 引言在人们繁忙的工作环境中,很多资料文件都要形成规范化的文档便于分类和存放,信息化的社会已经将以前手工抄写文档全部用电脑办公平台提供的统一的文档编辑软件所取代,当然所编写的文档的格式也是统一化的,包括文档中内容的字体,字号,标记,页码等等都是统一的。比如美国微软公司的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所示:apache2.0 web serverie浏览器(其他browser)php解释器图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 groupapache2,安装完成后进行以下的配置:先打开e: apache groupapache2conf 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去 下载windows下的二进制安装包,下载完成后默认安装,但需要注意的是在细节配置中将mysql的默认字符集设置为utf8。4 总体设计4.1 系统架构设计4.1.1 网络架构整个网络架构体系如下图:图4-1 论文格式化系统(前台)网络构架图由图4-1可以看到,一台web服务器,一台mysql数据库服务器,局域网客户机和远程客户机组成了系统的b/s结构,他们必须在网络的基础上进行通信。客户机通过浏览器访问web服务器,web服务器安装配置了两个web服务器,一是个tomcat apache,一个是apache服务器,前者端口为80,后者端口为8080。web服务器端执行浏览器发来的请求,然后返回给浏览器信息,数据库的存储服务器端的脚本会通过请求的不同存如mysql和写到服务器端的xml文件中。4.1.2 系统逻辑服务器在逻辑上可以将使用的服务器分为两类,每类服务器均有不同的功能:web服务器:该服务器进行web发布,提供用于普通用户业务工作的操作界面(网页),亦将用户的操作参数传递回应用服务器,同时亦将结果通过网页的方式返回到用户前端。数据库服务器:该服务器上安装了mysql数据库系统,数据库系统的设计主要针对该服务器。在此存放着所有的原始数据及用于系统的其它结构数据,所有的用户及管理者对数据的录入、修改最终都将保存在此。4.2 总体结构论文格式化系统(前台)主要功能模块结构示意图如下:图4-2 论文格式化系统(前台)功能模块结构图由图4-2图可以看到论文格式化系统(前台)要做的功能模块。其中在所有的后台管理子模块中,都包括添加,编辑,删除的操作。记录封装,记录发送,记录还原模块完全采用前台javascript程序在客户端进行处理。4.3 系统工作流程图系统处理流程图如下所示:图4-3 系统工作流程图以上图4-3是系统的工作流程图,通过该图可以清楚系统的工作流程是怎么进行的。5 实现和编码5.1 数据库设计图5-1 论文交互平台数据结构图由图5-1可以看到有6张表,图中显示了6张表的结构关系。在php制作的论文上传,打分平台中,有三种不同的用户存在,一个是系统管理者,一个是学生,一个导师,三种用户有三种权限,所以需要系统管理者表user,学生表student,导师表 teacher。系统需要上传论文,所以需要有存放论文信息的论文表tutorials。另外需要pm表作为短消息表。要有院系管理表xicate。要有导师消息发布表teachermsg。这6张表互相关联,其中一个表的变化将影响其他表的变化。5.2 数据库表结构设计确定了数据库的逻辑关系和数据结构之后,进一步将以上所述的八个数据表由概念结构转化为数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。表51所示为系统管理者信息表(user),记录了用户的信息。表51 user 表字段类型null默认描述id(主键)int(3)否管理员编号namevarchar(32)否名称passwordvarchar(32)否密码can_settingtinyint(1)否0系统设置权限can_articletinyint(1)否0新闻发布权限can_guesttinyint(1)是0管理留言板权限can_usertinyint(1)否0管理系统管理员权限can_resorcetinyint(1)是0发布资源权限can_xicatetinyint(1)否0管理学院系别权限表52所示为系统设置表(settings),用于系统变量的设置:表52 settings 表字段类型null默认描述id(主键)int(5)否设置项编号varnamevarchar(255)否设置项名称settingvarchar(255)否设置项描述valuetext否设置项值typevarchar(20)否设置项显示类型表53所示为学生表(student),用于存放学生的信息:表53 student 表字段类型null默认描述id(主键)int(11)否学生编号tidint(11)否导师编号namevarchar(64)否学生真实姓名lognamevarchar(34)否学生登陆名passwordvarchar(64)否密码emailvarchar(64)否邮件callvarchar(16)否电话cidint(11)否所属系编号numbervarchar(30)否学号titlevarchar(100)否论文题目表54所示为导师表(teacher),用于存放导师的信息:表54 teacher 表字段类型null默认描述id(主键)int(11)否导师编号namevarchar(64)否导师真实姓名lognamevarchar(34)否导师登陆名passwordvarchar(64)否密码emailvarchar(64)否邮件callvarchar(15)否电话cidint(11)否所属系编号表55所示为论文表(tutorials),用于存放上传论文的信息:表55 tutorials 表字段类型null默认描述id(主键)int(11)否论文编号sidint(11)否学生编号tidint(11)否导师编号titlevarchar(64)否论文题目descriptiontext否描述linkvarchar(200)是文件名commenttext是导师意见markvarchar(6)否未打分本次论文分数timeint(11)否上传时间表56所示为院系表(xicate),用于设置学院系别信息:表56 xicate 表字段类型null默认描述id(主键)int(11)否系编号namevarchar(64)否系名称表57所示为统计在线表(session),用于统计在线人数:表57 session 表字段类型null默认描述ipvarchar(15)否用户ip地址visittimevarchar(20)否用户访问时间表58所示为导师发布消息表(teachermsg),用于存放导师发布的通知:表58 teachermsg 表字段类型null默认描述id(主键)int(11)否消息编号tidint(11)否导师编号namevarchar(34)否导师名字titlevarchar(64)否标题contenttext否内容timeint(12)否发布时间表59所示为短消息(pm),用于存放学生和导师发送的短消息:表59 pm 表字段类型null默认描述id(主键)int(11)否消息编号sidint(11)否学生编号tidint(11)否导师编号sendnamevarchar(64)否发送者姓名resvnamevarchar(64)否接收者姓名titlevarchar(43)否标题contenttext否内容sendtinyint(1)否1发送readedtinyint(1)否0阅读toteachertinyint(1)否1发给导师timeint(11)否0发送时间表510所示为资源表(resorce),用于存放系统管理员发布的论文资源:表510 resorce 表字段类型null默认描述id(主键)int(11)否资源编号titlevarchar(64)否资源标题descriptiontext否资源描述linkvarchar(64)否资源文件名timeint(11)否发布时间表511所示为新闻表(article),用于存放系统管理员发布的新闻:表511 article 表字段类型null默认id(主键)int(11)否新闻编号titlevarchar(64)否新闻标题contenttext否新闻内容timeint(11)否发布时间表512所示为留言表(guestbook),用于存放访客留言信息:表512 guestbook 表字段类型null默认id(主键)int(10)否留言者编号namevarchar(64)否留言者名称emailtext否留言者邮件contenttext否留言内容timeint(10)否留言时间hiddentinyint(1)否是否隐藏留言5.3 系统程序实现5.3.1 前台javascript程序工作流程下图为工作流程图:图5-2前台javascript工作流程5.3.2 首页的设计与javascript封装xml图5-3首页由图7可以看到首页是一张大型的表单,用于用户填写论文的相关信息以及内容,然后提交给后台保存为xml文件。这里就需要编写javascript脚本程序操作页面表单,将用户填写的信息封装成xml格式的。通过对表单的分析,找出需要操作的对象,主要是要取出标签和标签中内容,一一对应封装到xml里面。这里主要通过两个函数给予实现,一个是function xmlwriter(),一个是function xmlencap(),xmlwriter()为xmlencap()提供了封装xml的操作,而xmlencap()是要取出不同的对象调用xmlwriter()中的方法。5.3.3 通过xmlhttprequest对象发送xml这是ajax技术运用的一部分。前台通过function createxmlhttprequest创建xmlhttprequest对象,代码如下:function createxmlhttprequest()var xmlhttpreg=false;if(window.xmlhttprequest)xmlhttpreq=new xmlhttprequest();else if(window.activexobject)/ietryxmlhttpreq=new activexobject(msxm12,xmlhttp);catch(e)tryxmlhttpreq=new activexobject(microsoft.xmlhttp);catch(e)window.alert(e.message);return xmlhttpreq;图5-4创建xmlhttprequest对象代码对于有的浏览器不支持xmlhttprequest对象,但是提供了activex控件,考虑到兼容性程序支持了不同浏览器创建xmlhttprequest对象。创建好对象后便可在upload方法中使用对象的方法进行与服务器端的通信。主要方法使用情况如下:1设置传送方式:xmlhttpreq.open(post, action,true); 2. xmlhttpreq.setrequestheader(content-type,text/xml)设置http协议header类型;3发送xml: xmlhttpreq.send(xml);4得到readystate和status属性的值,当xmlhttpreq.readystate 为4 表示接收服务器响应完成,xmlhttpreq.status为200表示接收到的信息没有异常。5.3.4 smart template简介smart template模板引擎是国外一个开源项目,它由php语言编写,主要用于将php代码与html网页代码进行分离,让程序员可从烦琐的程序嵌套工作中解脱出来,并且提高网页运行的速度,提高开发的效率。5.3.5 smart template在本系统中的运用首先到系统的配置文件中进行配置,配置如下图所示:$_configtemplate_dir=root_path.templates/;$_configsmarttemplate_compiled=root_path.templates_c/;$_configsmarttemplate_cache=root_path.templates_c/;$_configcache_lifetime=600;图5-5 smart template在系统中的配置配置说明:1$_configtemplate_dir是模板文件存放的目录;2$_configsmarttemplate_compiled是模板被smart template编译后存放的目录;3$_configsmarttemplate_cache是模板缓存文件存放的目录;4$_configcache_lifetime是缓存文件的生存时间具体在程序中的使用方法如下:$page = new smarttemplate( template.html );$page-assign( title, templatedemo - userlist );$page-assign( user, db_read_all( select * from ris_user ) );$page-output();5.3.6 系统数据库封装与操作系统中数据库封装与操作共有两个类,一个是db_driver,一个是db_main,其中db_driver继承了db_main。他们封装了数据库的连接和数据库查询,插入,更新记录的操作,并且提供了通过数组形式编写sql语句的方法。在使用前应该配置好系统的变量,打开config.php配置如下表:$infosql_driver=mysql;$infosql_host=localhost;$infosql_database=graduate1;$infosql_user=root;$infosql_pass=;$infosql_tbl_prefix=;图5-6 配置数据库操作系统变量配置说明:1$infosql_driver说明采用数据库类型为mysql;2$infosql_host是数据库在网络中的地址;3$infosql_database是要操作的数据库名;4$infosql_user是数据库用户;5$infosql_pass是数据库用户的密码;6$infosql_tbl_prefix是数据库中表的前缀。具体在程序中的使用方法如下图所示:$db = new db_driver();update: $db-do_update( table, array( field = value, field2 = value2 ), id=1 ); insert:$db-do_insert( table, array( field = value, field2 = value2 ) ); delete:$db-build_and_exec_query( array( delete = table, where = id=1 ) ); select: $db-build_query( array( select = *, from = table, where = id=2 and mid=1, order = date desc, limit = array( 0, 30 ) ) ); $db-exec_query();while( $row = $db-fetch_row() ) . 图5-7 数据库封装的常用操作方法5.3.7 系统常用函数封装设计类名convtersystem,里面封装了分页方法,生成验证码的方法,去掉html代码的方法,截取字符串函数。管理员登陆页面admin_login.html中,显示生成的验证码图片,在admin.php中初始化类convtersystem,然后在使用convtersystem的方法:show_gd_img($number),其中$number是用mt_rand函数随即产生的,这样就可以生成一张带有验证码的图片。在分页的操作中,pagelinkr方法提供了链接的生成,需要先对数据库表进行查询得到记录的总数,然后设置好每页显示的记录数,算出一共的页数,再对表进行limit查询,其中limit从第几个记录开始是从url传过来的。5.3.8 apache rewrite功能在系统中的运用本系统用到rewrite功能,在环境配置的时候就开启了apache的rewrite模块。rewrite规则的编写在.htaccess文件中。所有规则编写如下图所示:errordocument 404 :8080/biyerewriteengine onrewriterule index.html$ index.phprewriterule submit.html$ submit.phprewriterule xsignup.html$ xsignup.phprewriterule tsignup.html$ tsignup.phprewriterule login.html$ login.phprewriterule myupload.html$ myupload.php rewriterule logout.html$ logout.phprewriterule checkstudent.html$ checkstudent.phprewriterule checktutorials.html$ checktutorials.php rewriterulemark_suggest_(0-9+).html$edit_tutorials.php?tuid=$1&action=markrewriterule mark_comment.html$ mark_comment.php rewriterule guestbook.html$ guestbook.php rewriterule resorce.html$ resorce.php rewriterule search.html$ search.php rewriterule news/list/(0-9+).html$ news.php?&st=$1rewriterule news_(0-9+).html$ news.php?newsid=$1 rewriterule resorce_(0-9+).html$ resorce.php?st=$1rewriterule news.html$ news.php rewriteruledelete_tutorials_(0-9+).html$edit_tutorials.php?tuid=$1&action=delrewriterule sprofile.html$ sprofile.php rewriterule tprofile.html$ tprofile.php rewriterule ssendmsg.html$ ssendmsg.php rewriterule tsendmsg.html$ tsendmsg.php rewriterule tbacksend.html$ tsendback.php rewriterule sbacksend.html$ ssendback.php rewriterule tcheckmsg.html$ tcheckmsg.php rewriterule scheckmsg.html$ scheckmsg.php rewriterule tsendback_(0-9+).html$ tsendback.php?senderid=$1rewriterule ssendback_(0-9+).html$ ssendback.php?senderid=$1rewriterule tdelmsg_(0-9+).html$ tdelmsg.php?mid=$1rewriterule sdelmsg_(0-9+).html$ sdelmsg.php?mid=$1图5-8 系统所用到的rewrite规则rewrite规则就是通过编写正则表达式,将匹配的url重新定向到要执行的php脚本程序,这样可以让用户看不到访问的是哪个php脚本程序,看到都是.html后缀的url,可以防止恶意用户盗取链接。其中第一行的意思是当遇到404错误的时候页面将自动跳转到:8080/biye。6 特殊问题解决办法本系统在设计和开发过程中,也遇到了不少的问题,就其中较特殊问题分析及解决方案描述如下:6.1 mysql数据库密码修改问题在开发过程中,有时候会重新安装mysql数据库,有时候也会去更改mysql的密码。这里就存在一个mysql的密码修改的问题。mysql的密码修改有几种方式,我选用的是在root帐户下用sql语句进行修改,但是修改后系统无法与数据库连接,用flush privileges;命令刷新权限也不行。查阅资料原来是mysql版本的问题,高版本的mysql数据库已经改用默认的新加密方式,而数据库连接的时候还是采用的老的加密方式,这需要在修改密码的时候使用old_password(),然后再刷新权限,这样才能连接数据库。6.2 php自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论