基于的物业管理软件客户管理含源文件_第1页
基于的物业管理软件客户管理含源文件_第2页
基于的物业管理软件客户管理含源文件_第3页
基于的物业管理软件客户管理含源文件_第4页
基于的物业管理软件客户管理含源文件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

{售后服务}基于的物业管理系统客户服务管理含源文件基于WEB的物业管理系统——客户服务管理[内容摘要]:随着我国住房改革的深入,越来越多的居民搬进了新落成的住宅新村或小区,而这些新型住宅区域的管理多数由物业管理公司或单位的物业管理部门实行小区中的居民也不再是某一个单位的职工,而是来自不同单位,这样靠从工资中扣除水、电及房租等费用的收缴方式不能奏效,需要专门的物业管理部门统一管理,这势必增加物业管理部门的工作量。为了改变以前手工统计水、电费的落后状况,迫切需要编制一套计算机物业管理软件系统,该系统可以利用数据库技术将物业管理需要的各种数据以数据库形式存储,能够对居民的物业情况实行动态管理。将计算机引入到物业管理领域,从而实现物业管理工作高效、科学、合理,适应时代的需求。[关键词]:物业管理;投诉处理;asp;access1引言本文分析了小区物业管理系统的功能和特点,提出了基于Web技术的小区物业管理信息系统的设计方案及其实现。通过对住宅小区物业管理系统的分析与研究,利用asp技术,access为中心的计算机环境,开发出功能强、运行可靠的综合管理信息系统。本文首先分析传统的物业管理的现状,就现代的小区物业管理系统提出基于Web架构的小区物业管理系统的设计方案,并且实现该方案。1.1传统物业管理的现状传统物业管理业务处理繁琐,手工工作量大,不适合网络上的处理。管理的内容缺乏标准化,管理手段缺乏规范化,导致信息不能共享,经营决策困难。信息的发布不及时,准确率低,物业管理公司和业主缺乏有效的沟通。1.2基于Web的小区物业管理信息系统的特点1.2.1采用Web技术基于Web构架的小区物业管理系统是网络技术在物业管理中的新的应用,可满足物业公司的信息管理和社区服务的需求,是较为理想的解决模式采用关系数据库系统为物业管理信息系统平台,各个社区通过互联网建立网上物业管理,以Web方式发布物业管理的各种信息。而客户端只需要通用的浏览器软件访问Web网页,降低了开发成本。1.2.2高效细致的管理针对小区物业管理的特点,制定出一套独特的精确到点的管理措施针对每个住户的信息、产生的费用信息和住户意见等信息的数据录入修改删除等做详细的记录,亦定制了一系列管理措施,分工到位,责任明确,实现小区信息化上网工程。1.2.3提供全方位的服务物业管理信息放在Web网页上,并提供全方位的快速查询,减少重复劳动,大大提高工作效率。各项费用自动计算,监控客户交费和欠费情况,灵活地打印各种报表,业主不但可以分项付款,还可以预付各项费用,降低了管理成本,提高效率,消除物业管理者和业主之间的隔阂。1.2.4完整的工程及服务档案,提高管理水平物业管理除了涉及客户管理之外,更需要提供维修服务与管理系统需要拥有完整的服务档案可以使管理人员随时了解最新的情况,更可以规范维护、服务标准,帮助管理人员合理安排工作时间。数据规范化管理,为物业公司领导的决策提供支持,并且把管理的数据转入数据仓库,为物业公司拓展经营业务,增加新的赢利点提供可靠的基础。系统应该紧紧围绕着物业管理公司在构建基于Web平台上的物业管理系统的过程,针对现代物业管理的科学化、规范化、网络化的要求开发一个实用的系统,利用它,可以在统一的信息平台上查询小区的数据,为更高层的决策支持提供了基础。通过规范物业公司各项管理,以降低服务成本,从根本上提高物业管理的质量,提高物业公司的竞争力基于Web的物业管理系统的开发,对构筑其他的新型企事业单位的信息管理和事务处理也有很好的借鉴作用。2网站开发基础知识2.1ASP的特点及发展前景2.1.1ASP的特点MicrosoftActiveServerPages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态的交互的Web服务器应用程序使用ASP可以组合HTML页脚本命令和ActiveX组件以创建交互的Web页面和基于Web功能强大的应用程序ASP是一种类似HTML,Script与CGI的结合体,它的运行效率要比CGI高,程序的编写也较HTML方便;更有灵活性,程序的安全性要比一般的脚本语言(如JavaScript)高。ASP应用程序很容易开发和修改。有了ASP就不必担心客户端的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户端浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。下面归纳出ASP所独具的一些特点:(1)使用VBScript,JavaScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序脚本具有较为宽松的程序调试环境,ASP当然也具有这些特点,这使得ASP程序的开发极其容易和快速。(2)无须编译,容易编写,可在Web服务器端直接执行,它屏蔽了程序的执行细节,程序代码完全保密这就使得程序员的劳动成果能得到有效的保障,一般脚本程序在客户端执行,代码完全公开。(3)程序的开发对使用环境要求不高使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计,甚至可以在DOS的EDIT命令里面写程序。(4)与浏览器无关(BrowserIndependence),客户端只要使用可执行HTML码的浏览器,即可浏览ActiveServerPages所设计的网页内容。因为ASP是将运行结果以HTML的格式传送到客户端的浏览器,而现在的浏览器解析都遵循同一规则(WWW协会制定的规范),所以ASP可以适用于各种浏览器。(5)ActiveServerPages能与任何ActiveXScripting语言相容。除了可使用VBScript或JavaScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,例如REXX,Perl,Tcl等。脚本引擎是处理脚本程序的COM(ComponentObjectModel)组件。(6)与微软的其他产品无缝连接,不论对ASP的执行还是开发,微软都提供极为坚实的后盾。ASP凭借微软的强力支持,必定会更加强壮。(7)ActiveXServerComponents(ActiveX服务器组件)具有无限可扩充性。可以使用VisualBasic,Java,VisualC++,Cobol等编程语言来编写用户所需要的ActiveXServerComponent。(8)ASP内置组件,因此可以轻松的存取数据,极大的缩短了程序的开发时间和减轻了程序员的劳动强度。(9)用ASP开发的程序具有非常强的动态交互性,可以根据不同的用户不同的要求而产生不一样的页面。ASP本身并不是一种脚本语言,它只是提供了一种使镶嵌在HTML页面中的脚本程序得以运行的环境。但是,ASP又有着自身的语法和规则,因此也可称ASP为一种语言。ASP程序其实是以扩展名为.asp的纯文本形式存在于Web服务器上的,可以用任何文本编辑器打开它,ASP程序中可以包含纯文本、HTML标记以及脚本命令,服务器的解释语言默认是以VBScript作为首选的,为了减小编写代码的工作量,可以不写出来,本论文就是以VBScript作为默认的服务器解释语言。用户只需将.asp程序放在Web服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过WWW的方式访问ASP程序了。2.1.2ASP的发展前景目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持其次,缺乏多层结构支持对于大负荷站点,解决方法只有二个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列而PHP则缺乏这种支持还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电务商务中。ASP和JSP则没有以上缺陷,ASP可以通过MicrosoftWindows的COM/DC0M获得ActiveX规模支持,通过DC0M和TranscationServer获得结构支持:JSP可以通过SUNJava的JavaClass和EJB获得规模支持,通过EJB/CORBA以及众多厂商的ApplicationServer获得结构支持2.2网站开发知识2.2.1如何进行开发工作(1)配置好开发环境开发环境是程序员一切工作的开始,不仅会影响到开发方向、技术,而且,也影响着开发的效率。选择哪种开发环境,对开发工作影响很大。如果系统选择NT-Server,就需要选择基于NT平台下的各种相关的开发软件,而且需要配置好NT的执行环境和目录的安全权限如果安装的版本较低,那么还需要装一些最新的系统补丁。当然,开发环境绝对不仅仅只包括这些,还需要安装一比开发工具。如果开发网站,一般至少还需要安装一个网页编辑器软件。譬如当今网页设计最流行、功能也最强大的Dreamweaver(也可以使用Frontpage)。如果要用到数据库,对数据库要求不高的话,需要安装MicrosoftAccess。如果网站数据库很大,而且要求保密性强,SQLServer是个不错的选择。如果系统是Windows98,那么就需要安装PWS(PersonalWebserver)来构造服务器环境,它的设置相对简单,但性能和可靠性较差本论文中网站开发是以Windows2000作为操作系统,它内置了IIS5.0等许多服务器组件,具有良好的性能,操作也非常方便!(2)学好开发语言,掌握与之相关的技能在网站开发工作中,程序员的工作是极其重要的,同时也是最为辛苦的一项工作。网站开发工作中,程序员参与的工作最多。从最初分析到代码的编制,以及和美工工作的结合,无不需要程序员的积极参与。程序员的水平直接影响着开发工作的时间以及效率对程序员高水平的要求,不仅是开发小组的要求,同时也是程序员自身的要求。例如在ASP网站的开发过程中,各种ASP对象必须清楚,懂得它们的方法以及其拥有的属性,这样才能够在实际应用中灵活地应用各种对象的方法以及属性。虽然学习ASP并不需要记住所有对象以及方法的应用,可以通过查阅语法资料弥补记忆的缺陷。但应当尽可能地熟悉、记住它们。程序员的知识面应该广泛真正的程序员不是只会一种语言的独角龙,他应当掌握各种相关语言的应用,如数据库语言等。在的开发领域中,他应当对与之相关的知识有非常深的理解,能够进行具体的分析,特别是对于系统安全方面的知识。进行网站设计,程序员还应该具有一定的美感能力,能够和美工进行页面的讨论,而且对数据库及系统的安全性应该有非常强的保护意识。(3)选择符合自己熟悉的、效率较高的开发工具工欲善其事,必先利其器。进行开发工作也是一样,选择好的开发工具,能够达到事半功倍的效果。不仅能够顺利地完成任务,而且维护起来更加方便。在远求速度和效率的今天,这已成为一种标准的做法。例如在进行网站开发工作中,页面编辑使用Macromedia公司的Dreamweaver软件,处理图像使用Adobe公司的Photoshop软件。但是还有些功能相近的软件,应用也非常方便和快捷。如微软公司的Frontpage和Macromedia公司的Firework等,都是功能很强大的设计软件这就应当根据使用习惯和熟悉程度来选择开发工具,这样做起来更加方便,效率也可以提高。(4)程序功能的逐一分解,由简入繁,不断地完善。再大的网站,再完善的功能,也都是由一个个页面和功能模块组成。在编程时,不仅应当有模块代码的编写能力,同时也应当具有程序总体的设计和分析能力这样编写出来的程序才不会含混不清,程序结果与最初定义才不会南辗北辙。如果具有宏观的把握能力,能够把程序分成功能相对单一的代码块,就可以很方便、快捷的进行编程工作。每一个程序功能,都不可能一开始就是完善的。由于用户的使用习惯,需求以及安全性、保密性等问题,所编写出来的程序不可能一开始就很完善,程序的编写是一个不断完善的过程。(5)程序员与美工相互独立,互相协助。当今的网站建设,分工合作越来越明显,网站开发的程序员和美工一般都是各司其职。这样不仅能够提高网站建设的开发效率,而且也使程序员能够专注于程序功能的代码编写,美工专注于界面的设置。一般来说,程序工作和美工工作既可以同时进行,也可以某一方先开始。由于在网站的开发过程中,页面各种特别的设置都需要通过修改源代码来完成,因此,对美工来说,必须具有一定的代码分析能力。程序员在功能的开发过程中,可以暂时不要求很好的页面显示效果,这对程序的调试和代码的修改是非常有利的。2.2.2网站代码的可移植性可移植性原意是指程序从一种硬件和软件系统环境转换到另一种配置和环境所需要的工作量是多少在这里指程序在相同的平台下从一个地方移植到另一个地方时,需要的工作量。(1)代码的可重用性高。如果程序与具体的分区和目录关系不大,当程序由一个分区移动到另一个分区,或者由一个目录移动到另一个目录时,不需要或者只需要很少的改动就可以运行。现在的网页设计中,普遍采用了相对路径,就是基于这种思想来考虑的。(2)方便自己和别人的使用。由于在代码的编写过程中,并不是所有条件都直接在服务器上运行,有时需要在本地机器上运行良好后,才移植到服务器的目录上。如果所写的代码与目录结构关系很大的话,当把它移植到服务器时,改动的工作量和难度就会非常的大。另外,当程序被他人分析使用时,也是很方便地,不需要改动很多设置,就能够直接运行。2.2.3网站程序的可读性网站功能的开发实质上也是程序的编写,因此它和软件的开发有许多相同之处,软件开发有许多成熟的地方值得借鉴其中程序代码的可读性就是对编程者最基本的要求,是每个程序员最值得注意的地方。提高程序的可读性,不仅不会增加机器的解释时间,而且有许多优点。(1)方便自己不断地修改。由于程序代码的编写不可能是一蹴而就,它是一个不断编写,不断调试的阶段。如果编写的代码清晰明了,不仅节约分析代码的时间,提高效率,而且也减少了程序调试的错误如果所写的代码晦涩难懂,程序流程模糊,那么在调试阶段,要定位一个错误,就需要花很多时间来理解程序,找出错误的程序块。(2)方便别人的阅读、改正,方便程序员间的相互交流。由于编写程序并不是个人的事情,当把程序编写完,调试成功以后,也需要相互之间的交流学习。程序是一个作品,作品的功能固然重要,但作品的可分析性却是别人了解你作品的前提条件。2.2.4网站程序的模块化要求现在的网站,特别是首页面,提供的功能非常的强大。它是各种功能的有机集成,给用户一种非常好的界面,方便用户的使用。但在实际编程中,应该把这些功能逐一分块来编写,等到各个功能都编写完毕,再把这些功能结合起来,提供给用户使用,这就是所说的模块化。模块化编程是一种较新的编程思想,有着非常好的应用前景。它具有以下几方面的优点:(1)利于功能的定义。由于每个功能相对比较单一,代码较为简单,编写较为容易。(2)方便管理和维护。由于各个功能块只实现一个功能,但要加强某一个功能时,只需要改动相应的功能块,而不需要理会其他的代码,非常的方便。(3)利于程序的可读性和美观,减少出错的机会。每个功能的实现,只需要调用相应的功能函数,程序思路清晰,代码量少,可读性非常强,减少出错的机会。2.3ASP基础知识2.3.1ASP的几大内置对象ActiveServerPages提供内置对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息(如用户首选项)。(1)Application对象可以使用Application对象使给定应用程序的所有用户共享信息。该对象使用Contents、StaticObjects集合,有Lock、Unlock方法和Application_OnEnd、Application_OnStart事件。(2)Request对象可以使用Request对象访问任何用HTTP请求传递的信息,包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证。Request对象使您能够访问发送给服务器的二进制数据,如上载的文件。Form集合取得客户端利用表单Form所传递的数据。QueryString集合取得客户端利用<a>标签所传递的数据。Cookie集合取得存在于客户端浏览器的Cookie信息。ServerVariables集合取得Web服务器端的环境变量信息。ClientCertificate集合取得客户端的身份权限数据。(3)Response对象可以使用Response对象控制发送给用户的信息包括直接发送信息给浏览器重定向浏览器到另一个URL或设置cookie的值。Response对象集合:Cookies属性:Buffer/CacheControl/Charset/ContentTypeExpiresAsolute/IsClientConnected/PICS/Status方法:AddHeader方法、AppendToLog方法、BinaryWrite方法、Clear方法、End方法、Flush方法、Redirect方法、Write方法。(4)Server对象Server对象提供对服务器上的方法和属性进行的访问最常用的方法是创建ActiveX组件的实例()其他方法用于将URL或HTML脚本的超时期限。(5)Session对象可以使用Session对象存储特定的用户会话所需的信息当用户在应用程序的页之间跳转时,存储在Session。也可以使用Session方法显式地结束一个会话和设置空闲会话的超时期限。(6)ObjectContext对象可以使用ObjectContext对象提交或撤消由ASP脚本初始化的事务。对象方法:SetAbort、SetComplete;对象事件:OnTransactionAbort、OnTransactionCommit。2.3.2ASP的内置组件ASP提供了很多的内置组件,主要包含以下几个:(1)AdRotator组件可以使用AdRotator组件来交替显示图像,并提供从显示的图形到另一个URL的链接。在文本文件中保存广告列表;AdRotator组件依照在数据文件中的指令来显示它们。(2)ContentRotator组件ContentRotator组件在Web页上自动循环HTML内容字符串。每次用户请求Web页时,ContentRotator组件基于ContentSchedule文件中指定的信息显示新的HTML内容字符串。由于内容字符串可以包含HTML标记,就可以显示HTML、图形或超文本链接例如,可以使用该组件在每日牌价或超文本链接中循环,或者在每次打开Web页时,改变文本和背景的颜色。(3)BrowserCapabilities组件通过使用BrowserCapabilities组件,可以基于浏览器的功能剪裁发送到该浏览器的内容。(4)FileAccess组件FileAccess组件提供可用于在计算机文件系统中检索和修改文件的对象。(5)ContentLinking组件ContentLinking组件使在应用程序中提供.asp文件的逻辑导航变得简单易行。不用在许多.asp文件中维护URL引用,而只需在易于编辑的文本文件中指定.asp文件的次序组织。(6)CollaborationDataObjectsforWindowsNTServer组件CollaborationDataObjectsforNTS组件提供Web应用程序所使用的邮件对象这个库使您能够简单快捷地在应用程序上添加收发邮件的功能们的属性和方法来满足应用程序的需要。(7)MyInfo、Status、System和Tools组件MyInfoStatusSystem和Tools组件为在Macintosh上和在运行MicrosoftWindows的计算机上开发的应用程序提供兼容性。MyInfo组件跟踪Web站点所有者的个人信息,如经营Web站点的组织名称和地址及Web站点的设置,还有Web站点是否有guestbook。Status组件跟踪Web站点的信息,如访问者的数量以及HTTP连接的个数。System组件创建包含服务器状态信息的status对象。当前该服务器状态只在PersonalWebServerforMacintosh上可用。Tools组件提供了生成随机数、检查文件是否存在或处理HTML表格的方法。(8)PageCounter组件PageCounter组件统计并显示Web页被请求的次数。以一定的时间间隔,将捕获的数字写入到文本文件中,这样服务器关闭后,数据也不会丢失。(9)PermissionChecker组件PermissionChecker组件测试Web用户对某文件或某页的访问权。可以使用PermissionChecker组件为不同类型的用户定制基于ASP的页Web页包含超文本链接,就可以使用PermissionChecker组件测试用户对相应Web页的访问权限并忽略用户无权访问的页或使这些链接失效。2.3.3ASP的安全千万不要轻视正确配置安全设置的重要性。如果不正确配置安全设置,不但会使您的ASP.ASP文件Web服务器提供了各种方法来保护您的ASP应用程序免受未授权的访问和篡改。在您读完本主题下的安全信息之后,请花一定的时间仔细检查一下您的WindowsNT和Web服务器安全性文档。(1)NTFS权限您可以通过为单独的文件和目录应用NTFS访问权限来保护ASP应用程序文件。NTFS权限是Web服务器安全性的基础,它定义了一个或一组用户访问文件和目录的不同级别。当拥有WindowsNT有效帐号的用户试图访问一个有权限限制的文件时,计算机将检查文件的访问控制表(ACL)。该表定义了不同用户和用户组所被赋予的权限。如果用户的帐号具有打开文件的权限,计算机则允许该用户访问文件。例如,Web服务器上的Web应用程序的所“更改”权限来查看更改和删除应用程序的.ASP文件公共用户应仅被授予“只读”权限,以便将其限制为只能查看而不能更改应用程序的Web页。为了充分保护ASPNTFS文件权限即便应用程序的其他文件被保护。注意一定要对应用程序的文件应用统一的NTFS权限用程序需要包含的文件的NTFS为了防止此类问题,在为您的应用程序分配NTFS权限之前应仔细计划。(2)Web服务器权限您可以通过配置您的Web服务器的权限来限制所有用户查看运行和操作您的ASP页的方式。不同于NTFS权限提供的控制特定用户对应用程序文件和目录的访问方式,Web服务器权限应用于所有用户,并且不区分用户帐号的类型。对于要运行您的ASP应用程序的用户,在设置Web服务器权限时,必须遵循下列原则:对包含.ASP文件的虚拟目录允许\"读\"或\"脚本\"权限。对.ASP文件和其他包含脚本的文件(如.htm文件等)所在的虚目录允许“读”和“脚本”权限。对包含.ASP文件和其他需要\"执行\"权限才能运行的文件(如.exe和.dll文件等)的虚目录允许“读”和“执行”权限。(3)脚本映射文件应用程序的脚本映射保证了Web服务器不会意外地下载.ASP文件的源代码为包含了某个.ASP文件的目录设置了\"读\".ASP文件隶属于某个脚本映射应用程序,那么您的Web服务器就不会将该文件的源代码返回给用户。(4)Cookie安全性ASP使用SessionIDcookie跟踪应用程序访问或会话期间特定的Web浏览器的信息。这就cookie的HTTP请求被认为是来自同一Web浏览器Web服务器可以使用SessionIDcookies配置带有用户特定会话信息的ASP应用程序序是一个允许用户选择和购买CDSessionID跟踪用户漫游整个应用程序时的选择。为了防止计算机黑客猜中SessionIDcookie并获得对合法用户的会话变量的访问,Web服务器为每个SessionID指派一个随机生成号码。每当用户的Web浏览器返回一个SessionIDcookie时,服务器取出SessionID和被赋予的数字,接着检查是否与存储在服务器上的生成号码一致若两个号码一致,将允许用户访问会话变量这一技术的有效性在于被赋予的数字的长度(64SessionID从而窃取用户的活动会话的可能性几乎为0。截获了用户sessionIDcookie的计算机黑客可以使用此cookie假冒该用户。如果ASP应用cookie的计算机黑客就可以在应用程序中开始一个活动会话并获取这些信息。您可以通过对您的Web服务器和用户的浏览器间的通讯链路加密来防止SessionIDcookie被截获。(5)使用身份验证机制保护被限制的ASP内容您可以要求每个试图访问被限制的ASP内容的用户必须要有有效的WindowsNT帐号的用户名和密码Web身份,以检查用户是否拥有有效的WindowsNT帐号。Web服务器支持以下几种身份验证方式:基本身份验证提示用户输入用户名和密码。WindowsNT请求/响应式身份验证从用户的Web浏览器通过加密方式获取用户身份信息。然而,Web服务器仅当禁止匿名访问或WindowsNT文件系统的权限限制匿名访问时才验证用户身份。(6)保护元数据库访问元数据库的ASP脚本需要Web服务器所运行的计算机的管理员权限在从远程计算机WindowsNT请求/响应验证方式进行连接。应该为管理级.ASP文件创建一个服务器或目录并将其目录安全验证方式设置为WindowsNT请求/响应式身份验证MicrosoftInternetExplorerversion2.0或更高版本支持WindowsNT请求/响应式身份验证。(7)使用SSL维护应用程序的安全SecureSocketsLayer(SSL)3.0协议作为Web方式来建立与用户的加密通讯连接。SSL保证了Web内容的验证,并能可靠地确认访问被限制的Web站点的用户的身份通过SSLASP应用程序的用户与您的服务器建立一个加密连接;以防用户与应用程序间交换的重要信息被截取。如果您从位于没有保护的虚拟根目录中的.ASP文件中包含了位于启用了SSL的目录中的文件,则SSL将不被应用于被包含文件。因此,为了保证应用SSL,应确保包含及被包含的文件都位于启用了SSL的目录中。控制对您的ASP应用程序访问的一种十分安全的方法是要求用户使用客户资格登录。客户相同用户通常从委托的第三方组织获得客户资格,第三方组织在发放资格证之前确认用户的身份信息(通常,这类组织要求姓名、地址、电话号码及所在组织名称;此类信息的详细程度随给予的身份等级而异)每当用户试图登录到需要资格验证的应用程序时,用户的Web浏览器会自动向服务器发送用户资格。如果Web服务器的SecureSocketsLayer(SSL)资格映射特性配置正确,那么服务器就可以在许可用户对ASP应用程序访问之前对其身份进行确认。作为ASP应用程序开发人员,您可以编写脚本来检查资格是否存在并读取资格字段例如,您可以从资格证明中访问用户名字段和公司名字段ActiveServerPages在Request对象的ClientCertificate集合中保存资格信息。必须将Web服务器配置为接受或需要客户资格,然后才能通过ASP处理客户资格;否则,ClientCertificate集合将为空。(8)创建事务性脚本商业应用程序常常需要具有在事务内部运行脚本和组件的能力使该操作包括很多步骤(例如,定货、查看存货、是失败。用户可以创建在事务内部运行的ASP脚本,如果脚本的任何一部分失败,整个事务都将会终止。ASP事务处理是以MicrosoftTransactionServer(MTS)为基础的。MicrosoftTransactionServer(MTS)是一个事务处理系统,用于开发配置和管理高性能可分级的有鲁棒性的Internet和Intranet服务器应用程序TransactionServer为开发分布式的,基于组件的应用程序提供了一个应用程序设计模型它也为配置和管理这些应用程序提供了一个运行环境。创建事务性脚本的功能内置在InternetInformationServer和PersonalWebServer中。如果您安装了MicrosoftTransactionServer,就可以将组件打包,以使组件在事务内部运行。(9)编写事务事件脚本本身不能决定事务是成功还是失败。但是,可以编写提交或终止事务时被调用的事件。OnTransactionCommit和OnTransactionAbort事件来编写对用户的不同响应。(10)对象作用域一般情况下,不要将从MTS组件中创建的对象存储在ASPApplication或Session对象中。MTS对象在事务完成后消失因为Session对象和Application对象是为在不同ASP页之间使用的对象实例设计的,所以不要用它们保存在事务结束时即被释放的对象。ASP任何事务性ASP页所使用的MTS对象都被认为是事务的一部分MTSSession或Application对象中的对象用域对象的尝试都将失败。(11)事务排队从一个远程服务器对数据库的更新可能因为网络延迟或故障而导致事务延迟或终止因为事务的所有部分都必须提交,所以应用程序将可能挂起,等待远程服务器的提交或终止消息,也可能由于无法发送数据库更新而导致事务被放弃。推迟完成事务例如,航空公司的定票程序应该同时完成对客户的银行帐号计入借方和对航空公司的银行帐户计入贷方。如果一个更新属于事务整体的一部分,但可能晚于其他更新,您可能不希望让客户等待整个更新过程的完成发送食品订单或更新客户的旅程津贴。这些操作虽然也必须完成,但可以晚一些。MicrosoftMessageQueueServer使您能够将一个或一组更新捆绑到一个事务性消息中送给远程服务器MessageQueueServer。您的应用将收到一个提交消息,从而可以继续处理事务。2.4SQL结构化查询语言基础为了建立交互站点,需要使用数据库来存储来自访间者的信息例如建立一个职业介绍服务的站点,就需要存储诸如个人简历感兴趣的工作等等这样的信息创建动态网页也需要使用数据库,如果想显示符合来访者要求的的数据库记录,就需要从数据库中取出这份工作的信息。那么将会发现,在许多情况下需要使用数据库。SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言SQL语言的主要功能就是同各种数据库建立联系,进行沟通按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括select,Insert,Update,Delete,Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。在ASP中,无论何时你要访间一个数据库,你就要使用SQL语言。因此,掌握好SQL对ASP编程是非常重要的。下面是常用数据库的操作语句。1.用SQL从表中取记录Select语句。2.用SQL创建新表Createtable语句3.用SQL插入数据Insert语句4.用SQL更新记录Update语句5.用SQL删除记录Delete语句6.用SQL删除表格Droptable语句3建立ACCESS数据库连接ACCESS数据库是属于微软OFFICE中的一个组件,是一个典型的开放式数据库系统,同时也是世界上最流行的数据库管理软件之一。数据库的连接可以才用数据配置源名(DataSourceName,DNSDNS—less的数据库连接又有ODBC和OLEDB两种方式。ASP通过内置的ADODB组件来实现这一功能可以使用ADO去编写紧凑简明的脚本以便连接到ODBC兼容的数据库和OLEDB兼容的数据源3.1创建数据库源名(DSN)ADODB通过ODBC工作,因此要在ODBC中设置DSN(数据源名)。打开Windows的"控制面板",双击"ODBC"的图标,然后选择"文件DSN"的属性页,单击<添加>,选择数"下一步""下一步",再单击"完成"创建数据源。3.2创建数据库链接利用ADODB的成员函数Open和先前设定的DSN与数据库连接,其语法如下:SetConnect=("")'创建了链接对象Connect。("DSN=dsnnameUID=userIDPWD=password")'打开链接。dsnname为数据源名;userID为用户名;password为用户口令。3.3创建数据对象ADO中的数据对象通常保存的是查询结果RecordSet是ADOSetRecordSet=(sqtStr)'创建并打开了对象RecordSet,sqtStr是一个串,代表一条标准的SQL语句。例如:sqlStr="SELECT*FROMb1"SetRecordSet=(sqlStr)这条语句执行后,对象RecordSet中就保存了b1中的所有记录。3.4操作数据库可利用Execute方便地执行数据的插入、修改、删除等操作。如执行插入操作:sqlStr="InsertIntob1Values(1,2)"(sqlStr)3.5关闭数据对象和链接在使用了ADO在ASP中通过调用方法close实现关闭。RecordSet.closeSetRecordSet=NothingConnect.closeSetConnect=Nothing完整的程序片段://产生组件实例<%SetConnect=("")//连接数据库("DSN=dsnname;UID=userID;PWD=password")//执行查询SQL=select*fromtablenameSetRS=(SQL)%>//显示结果<%DoWhileNot%><%=RS(fieldname)%><%Loop%>4系统分析4.1系统功能分析4.2系统数据分析5系统实现5.1设计特点服务的一个重要组成部分,该模块协助对投诉人投诉对象内容处理意见和客户投诉处理的满意程度进行有效的分类管理。意见、建议进行管理,并对整改措施及结果进行登记。比较烦琐所以本站采用ASP技术来开发,通过ASP技术的交互方式可直接与网页上的数据“交谈”起来,用户浏览时更具生动性、灵活性。5.2设计开发思路面规划、开发制作,系统调试维护。从该站点的特点“前台”“后台”两大部分。主要任务是页面设计,网页设计时必须考虑到网络传输率服务器性能指标以及客户端浏览模式等,不能单纯追求页面的奢华而加大网络传输图片的负荷。还必须要注意颜色的搭配,一个颜色搭配好的网站会使来访者心情非常愉悦颜色搭配不好站会使来访者对网站产生讨后台的主要功能是提供一种对前台功能的服务支持,即实施对信息的管理、维护和处理。Photoshop择,对整个页面的布局做出详细而精确的规划。5.3开发运行环境5.3.1开发环境·操作系统:MicrosoftWindows2000·字处理软件:MicrosoftWord2003·浏览器:MicrosoftInternetExplorer5.0以上·网页设计软件:MacromediaDreamweaver8·数据库软件:MicrosoftAccess20035.3.2运行环境·服务器端:Windows2000Server+IIS5.0·客户端:InternetExplorer5.0以上5.4系统功能设计意见和建议的投诉申请表的页面。图4-1为系统进入的界面图4-1在图4-1里面可以点击“我要投诉”进入图4-2的界面,填写投诉申请表。当必填写的选项,填写完整以后,“提交”按钮压下。就可以在数据库的gb表里面添加一条新记录了!图4-2后台的需要通过图4-3页面,才能进入。未修改的管理帐号和管理密码均为:admin。可以在进入后台以后,在后台的中的“管理中心”修改帐号密码,见图4-5图4-3图4-4为后台的。是通过了的验证才能进入后台。“管理中心”“退出管理”以及对单条投诉记录的“管理”和“删除”操作。而且从记录上来看,能够看到投诉来访者的IP记录。通过IP的显示,就可以有效的防止一台机子的多个投诉记录的重复。图4-4“管理中心”就跳转到“”如图5所示页面“管理帐号”“管理密码”“站点名称”“站点网址”置中,可以修改按在前台的记录多少条分一页、可以控制留言最多为多少字等。“退出管理”就回到前台,“查看投诉”就可以管理投诉记录。图4-5理页面,进行对投诉的编辑与增加、。即对数据库中数据记录的删除增加以及修改。图4-6图4-6为对投诉记录的处理,可以设置置顶、置底,其中默认为普通投诉;投诉的类型秘密投诉和禁止公开这样就可以区分不同种类,不同情况的投诉了。当处理完毕后,“提交”按钮压下,就更新了gb表中的记录。引入WEB编辑功能来处理,将这些日常维护工作量转为系统化、标准化的维护格式,投诉和建议。5.5数据设计5数据库及子表的设计图3.1在数据库data中,存在两个子表,分别是gb子表和gbinfo子表。其中gb子表里面存储的是从前台页面和后台单一一条记录的中提交过来的数据。具体字段如下图:图3.2而子表gbinfo中存储的内容则是后台中“管理中心”里面的数据。该表中的记录只有一条,所“管理中心”来调整用户自己想要的页面效果和系统说明。具体字段如图3.3:图3.36系统实现7部分源代码及其功能7.1数据库的连接单独存为页面<%setconn=("")DBPath=("db/")"provider=.oledb.4.0;datasource="&DBpathfunctionCloseDBsetConn=NothingEndFunction%>这段代码是打开数据库。而这一段代码是连接gbinfo表。单独存为文件。<%starttime=timer()setrs=("SELECT*FROMgbinfo")LogName=rs("logname")LogPWD=rs("logpwd")Showlynum=rs("showlynum")siteurl=rs("siteurl")USRName=rs("username")GbOpen=rs("Gbopen")popwrite=rs("popwrite")notice=rs("notice")ubbcode=rs("ubbcode")lymax=int(rs("bak1"))shhe=rs("bak2")click=rs("visit")+1%>7.2前台中添加一条记录<%IFpopwrite<>"1"ThenIFSession("PRO"&LogPWD&"ADMIN")<>TrueThen""EndIFEndIFIFRequest("POST")<>""ThenCallWriteDataEndIFFunctionWriteDataIFTrim(Request("content"))=""orTrim(Request("name"))=""orTrim(Request("title"))=""Then"<scriptlanguage='javascript'>""alert('留言错误:你填写不完整!');""(-1);""</script>"ELSEIFCheckHtml(Request("name"))then"<scriptlanguage='javascript'>""alert('留言错误:名字不能用特效字符!');""(-1);""</script>"ELSEIFLen(Request("content"))>lymaxthen"<scriptlanguage='javascript'>""alert('留言错误:你的留言太长!');""(-1);""</script>"ElseSetRs=("")Sql="Select*Fromgb"Sql,conn,1,3site=Request("site")ifRequest("site")=""thensite=""endifshenhe=Request("type")ifshhe="1"thenshenhe="wait"endifRs("content")=HTMLcode(Request("content"))Rs("date")=nowRs("title")=HTMLcode(Request("title"))Rs("name")=HTMLcode(Request("name"))Rs("from")=Trim(Request("from"))Rs("type")=shenheRs("head")=Request("head")Rs("top")=Request("top")Rs("ip")=Request("ip")Rs("sex")=Request("sex")Rs("nali")=Request("nali")SetRs=NothingCallCloseDB""EndIFEndFunction%>这里的添加信息,就是指从前台写入一条投诉的记录。7.3中修改一条记录<%IFSession("PRO"&LogPWD&"ADMIN")<>TrueThen""EndIFIFRequest("POST")<>""ThenCallWriteDataEndIFFunctionWriteDataIFRequest("content")=""orRequest("title")=""Then"<scriptlanguage='javascript'>""alert('投诉错误:请填写标题或投诉内容!');""(-1);""</script>"ElseID=Request("id")content=HTMLcode(Request("content"))title=Request("title")top=Request("top")lytype=Request("type")reply=HTMLcode(Request("reply"))ifRequest("bj")=""thenbj=nowelsebj=Request("bj")endifSetcanl=("")Sql="Select*Fromgbwhereid="&id&""Sql,conn,1,3canl("content")=contentcanl("title")=titlecanl("top")=topcanl("mail")=mailcanl("qq")=qqcanl("nali")=nalicanl("reply")=replycanl("bj")=bjcanl("type")=lytypeSetcanl=NothingCallCloseDB""EndIFEndFunctionid=("id")edit=("edit")ifedit="ture"thensetccc=("select*fromgbwhereid="&id&"")content=un(ccc("content"))reply=un(ccc("reply"))ifccc("top")="9"thentt="投诉置顶"elseifccc("top")="5"thentt="普通投诉"elsett="投诉置底"endififccc("type")="wait"thenttt="等待审核"elseifccc("type")="open"thenttt="公开投诉"elseifccc("type")="close"thenttt="私密投诉"elsettt="禁止显示"endif%>对记录的修改其实就是在检查完一条投诉信息以后,另外补充一些字段信息。7.4与登陆登出代码<%IFRequest("POST")="True"ThenTrim(Replace(Request("LogPwd"),"'",""))IFTrim(Replace(Request("LogName"),"'",""))=LogNameandTrim(Replace(Request("LogPwd"),"'",""))=LogPWDThenSession("PRO"&LogPWD&"ADMIN")=True""Else"<scriptlanguage='javascript'>alert('非法登陆!');</script>"EndIFEndIF%>此段为登陆代码。<%Session("PRO"&LogPWD&"ADMIN")=""""%>这是安全退出的代码。7.5中的检查函数<%functionCheckEmail(email)dimnames,name,i,cCheckEmail=truenames=Split(email,"@")ifUBound(names)<>1thenCheckEmail=falseexitfunctionendifforeachnameinnamesifLen(name)<=0thenCheckEmail=falseexitfunctionendiffori=1toLen(name)c=Lcase(Mid(name,i,1))ifInStr("abcdefghijklmnopqrstuvwxyz_-.",c)<=0andnotIsNumeric(c)thenCheckEmail=falseexitfunctionendifnextifLeft(name,1)="."orRight(name,1)="."thenCheckEmail=falseexitfunctionendifnextifInStr(names(1),".")<=0thenCheckEmail=falseexitfunctionendifi=Len(names(1))-InStrRev(names(1),".")ifi<>2andi<>3thenCheckEmail=falseexitfunctionendififInStr(email,"..")>0thenCheckEmail=falseendifendfunctionFunctionCheckHtml(Str)Dimkeke=Trim(Str)ifInStr(1,ke,"",vbTextCompare)<>0orInStr(1,ke,"》",vbTextCompare)<>0orInStr(1,ke,"《",vbTextCompare)<>0orInStr(1,ke,".",vbTextCompare)<>0orInStr(1,ke,"”",vbTextCompare)<>0orInStr(1,ke,">",vbTextCompare)<>0orInStr(1,ke,"&",vbTextCompare)<>0thenCheckHtml=trueelseCheckHtml=falseendifEndFunctionfunctionHTMLcode(fString)ifnotisnull(fString)thenfString=Replace(fString,"<","<")fString=Replace(fString,">",">")fString=Replace(fString,CHR(13),"")fString=Replace(fString,CHR(10)&CHR(10),"</P><P>")fString=Replace(fString,CHR(10),"<BR>")HTMLcode=fStringendifendfunctionfunctionunHTML(fString)ifnotisnull(fString)thenfString=Replace(fString,"<","<")fString=Replace(fString,">",">")fString=Replace(fString,"",CHR(13))fString=Replace(fString,"</P><P>",CHR(10)&CHR(10))fString=Replace(fString,"<BR>",CHR(10))unHTML=fStringendifendfunction%>7.6管理中心<%IFSession("PRO"&LogPWD&"ADMIN")<>Truethen""EndIFIFRequest("POST")<>""ThenCallWriteDataEndIFFunctionWriteDataIFRequest("logname")=""orRequest("logpwd")=""orRequest("username")=""orRequest("Gbopen")=""orRequest("siteurl")=""orRequest("showlynum")=""orRequest("popwrite")=""Then"<br><palign=center><fontcolor=red>你填写不完整!</font>"ElseIFRequest("logpwd")<>Request("logpwd2")Then"<br><palign=center><fontcolor=red>密码验证有误!</font>"endifLogName=Request("logname")LogPWD=Request("logpwd")Showlynum=Request("showlynum")siteurl=Request("siteurl")USRName=Request("username")GbOpen=Request("Gbopen")popwrite=Request("popwrite")visit=Request("visit")notice=Request("notice")ubbcode=Request("ubbcode")lymax=Request("lymax")shenhe=Request("shenhe")Setcanl=("")Sql="Select*Fromgbinfo"Sql,conn,1,3canl("LogName")=LogNamecanl("LogPWD")=LogPWDcanl("Showlynum")=Showlynumcanl("username")=USRNamecanl("GbOpen")=GbOpencanl("popwrite")=popwritecanl("siteurl")=siteurlcanl("visit")=visitcanl("notice")=noticecanl("ubbcode")=ubbcodecanl("bak1")=lymaxcanl("bak2")=shenheSetcanl=NothingCallCloseDB""EndIFEndFunctionsetin

温馨提示

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

评论

0/150

提交评论