ImageVerifierCode 换一换
格式:DOC , 页数:39 ,大小:493KB ,
资源ID:11721952      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/11721952.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(WEB课程设计报告样板.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

WEB课程设计报告样板.doc

1、 南昌航空大学信息工程学院 课程设计说明书 课程名称: WEB课程设计 设计题目: 房屋租赁管理系统 专业: 班级: 姓名: 学号: 评分: 指导教师: 2010 年 6月25日

2、 南昌航空大学信息工程学院070613班课程设计报告 35 基于PHP的房屋租赁管理系统 摘要:21世纪,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今Web应用的潮流。如何通过网络有效进行交流是摆在我们面前的一个新领域。 本文阐述了如何构造一个基于PHP的房屋租赁管理系统,对B/S结构、PHP技术以及MySQL原理进行了较深入的论述。阐述了对房屋租赁管理系统的需求分析、功能模块划分、数据

3、库模式分析,功能模块的实现过程。在此基础上,对所应用的关键技术进行描述。最后,对程序调试与调试结果进行论述。 本文在研究目前国内外房屋租赁管理系统情况的基础上,从实际需求出发,采用当前较为流行的PHP动态网页开发技术,基于Windows 2003操作系统和MySQL数据库环境,设计并实现了一个功能较为完善的房屋租赁管理系统。通过对系统进行一系列的需求分析、设计、编码、测试等工作。该系统普通用户可以浏览、查看房屋信息,也可以注册成为网站会员、登录网站,然后发布个人房屋信息,还可以查看该网站的新闻公告等;管理员可以对网站会员、房屋信息以及网站的新闻公告进行管理。本文重点对系统设计过程做了相应描述

4、同时也对系统需要改进的地方做了总结。 关键词:房屋租赁,管理系统,PHP,MySQL 目 录 1绪论 1 1.1课题研究的背景介绍 1 1.2系统开发环境及开发平台介绍 1 1.2.1系统开发环境 1 1.2.2系统开发平台简介 2 2系统开发技术介绍 3 2.1 系统的B/S结构 3 2.1.1 B/S结构简介 3 2.1.2 B/S架构软件的优势与劣势 3 2.1.3 B/S框架与C/S

5、框架的联系与区别 4 2.2 PHP技术概述 6 2.2.1 PHP简介 6 2.2.2 PHP技术的强势与弱势分析 6 2.2.3 PHP动态网站开发技术 8 2.3 MVC及Struts介绍 8 2.3.1 MVC介绍 8 2.3.2 Struts介绍 10 3 系统分析 11 3.1任务描述 11 3.2用UML用例图描述系统需求 11 3.2.1用例图简介 11 3.2.2系统用例分析 12 3.3功能分析 12 4 系统的设计与实现 14 4.1数据库的设计与实现 14 4.1.1数据库MySQL简介 14 4.1.2数据库结构设计 14 4.1.

6、3数据库加载和调试 18 4.1.4操作数据库 19 4.2功能模块的设计与实现 20 4.2.1系统注册模块 20 4.2.2系统登录模块 21 4.2.3普通用户功能模块 23 4.2.4管理员功能模块 25 4.2.5信息发布模块 26 4.2.6信息查询模块 28 5 系统测试与维护 29 5.1系统测试 29 5.2系统维护 31 5.2.1维护内容 31 5.2.2维护方案 31 6 结论 33 参考文献 34 致谢 35 基

7、于PHP的房屋租赁管理系统 1绪论 1.1课题研究的背景介绍 说到房屋租赁,我们首先想到的就是房屋中介,但是不论对于房屋出租者还是对于求租者来说,要面对的各种问题实在让人头疼。随着社会经济的发展,城市现代化建设步伐不断加快,城市规模不断扩大,人员的流动也不断加大,房屋租赁逐渐成为社会生活的重要组成部分。无论是房屋出租还是房屋求租,都面临着大量需求。 首先是琳琅满目的中介公司让人感到无从选择,在要顾及中介单位可信度的同时,大量复杂的房产信息使他们感到迷茫,难以快速、准确地从中找到适合自己的房屋信息。再者,出租、承租双方进行交易的时候还要通过中介,使交易过程更加繁琐。而且中介

8、单位还要收取的一定比例的中介费用,这也在一定程度上加重了房屋承租者的负担。因此,现实社会中急需一个第三者为房屋出租者与房屋求租者牵线搭桥,来弥补中介单位的种种不足。 在互联网蓬勃发展的今天,网络和我们的生活、工作越来越密不可分,网络正领导着一个新时代的来临。于是我们就利用开放的Internet技术,开发出实时、快捷、全方位传播信息的平台,我们制作的房屋出租管理系统的网站,就成了人们关于生活中住房问题的信息载体,使得房屋信息在出租者与求租者之间传播更为轻松。这样,使原本复杂的房屋信息简单化。系统能及时为他们提供服务,使出租求租双方都能够方便快捷的得到信息。通过本系统来管理房屋出租情况,可以解决

9、大量房屋信息的查询和管理、便于房屋出租者更好的发布其房屋信息,同时也为租房者提供方便。 1.2系统开发环境及开发平台介绍 1.2.1系统开发环境 硬件环境 1)CPU:Intel 酷睿2双核 P8700; 2)内存:4GB; 3)硬盘:320GB.。 软件环境 1)操作系统:Windows XP; 2)数据库:MySQL; 3)开发工具:Editplus; 4)PHP服务器:WAMP5-v1.7.4; 5)浏览器:chrome。 1.2.2系统开发平台简介 1)系统开发平台 本系统开发语言选用PHP,所以采用Editplus为主要开发工具,然后结合Drea

10、mweaver,phpmyadmin与Windows XP操作系统进行。既考虑了系统的需求,又兼顾了运行的效率,以及今后系统的功能拓展等。 2)Editplus简介 首先,EditPlus是一套功能强大的文本编辑器。 它拥有无限制的Undo/Redo功能,让你不再为一步误操作而后悔不已;其强劲的英文拼字检查、自动换行、列数标记、语法高亮显示、垂直选择、搜寻功能,让你全面体验记事本所没有的超强功能;它可以同时编辑多种文件类型,轻松做到“一旦拥有,别无所求”;另外还有全屏幕浏览功能;特别值得一提的是,它的监视剪贴板的功能,能同步于剪贴板自动将文字贴进EditPlus的编辑窗口中,让你省去

11、粘贴的步骤。 其次,EditPlus还是一个好用的(X)HTML编辑器。 在EditPlus中设计网页和编辑一个文档没什么两样。单击“File”→“New”→“HTMLPage”,就可以打开“HTML页面编辑器”窗口,使用它所提供的工具就可以直接进行网页的编辑与创作。EditPlus除了可以对你直接输入的文字用颜色标记HTMLTag(同时支持C/C++、Perl、Java)外,还内建了完整的HTML和CSS1指令功能,你甚至可以一边编辑一边“浏览”(CTRL+B)页面效果。对于习惯用记事本进行网页编辑的网友们来说,它可以帮你节省一半的网页编辑时间。 再次,EditPlus其他比较好用的功

12、能包括:可以设置工程并进行多文件查找;代码片断;自动完成;设置标记方便跳转。 2系统开发技术介绍 2.1 系统的B/S结构 2.1.1 B/S结构简介 B/S结构:(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。 客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Se

13、rver等数据库。B/S模式体系结构的原理如图2.1所示,浏览器通过Web Server 同数据库进行数据交互。 Web 浏览器 Web服务器 应用服务器 HTTP请求 HTML界面 结果 SQL请求 数据库 服务器 图2.1 B/S模式体系结构原理图 B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。 B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能

14、进行局部实时刷新。 2.1.2 B/S架构软件的优势与劣势 维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向

15、今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。 成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Lin

16、ux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。 比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。 应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器端完全通过WWW浏览器实现,极少部分事务逻辑在前端实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果

17、不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。 2.1.3 B/S框架与C/S框架的联系与区别 C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、 Informix或 SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部

18、分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。 C/S 与 B/S 区别: 1)硬件环境不同 C/S 一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。 B/S 建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备,信息自己管理。有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。 2)对安全要求不同 C/S 一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S 结构适宜。可以通过B/S发布部分可公开信息。 B/S 建立在

19、广域网之上,对安全的控制能力相对弱,可能面向不可知的用户。 3)对程序架构不同 C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。 B/S 对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。比C/S有更高的要求 B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean构件技术等,使 B/S更加成熟。 4)软件重用不同 C/S 程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。 B/S 面对的

20、多重结构,要求构件相对独立的功能,能够相对较好的重用,就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。 5)系统维护不同 C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级。升级难,可能要再做一个全新的系统。 B/S 构件组成,方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。 6)处理问题不同 C/S 程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关,应该都是相同的系统。 B/S 建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的. 与操作系统平台关系最小。 7)用户接口不同

21、 C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高。 B/S 建立在浏览器上,有更加丰富和生动的表现方式与用户交流。并且大部分难度减低,减低开发成本。 8)信息流不同 C/S 程序一般是典型的中央集权的机械式处理,交互性相对低。 B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化,更像交易中心。 2.2 PHP技术概述 2.2.1 PHP简介 PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌

22、入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。 PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了P

23、HP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版

24、就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。 2.2.2 PHP技术的强势与弱势分析 PHP技术的强势 1)PHP是免费的。 2)php的便捷性:php十分便捷,学习简单 3)基于服务器端:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。 4)嵌入HTML:因为PHP可以嵌入HTML语言,所以学习起来并不困难。 5)简单的语言:PHP坚持脚本语言为主,与Java和C++不同。 6)效率高:PHP消耗相当少的系统资源。 7)图像处理:用PHP动态创建图像 8)面向对像:在php4,php5 中,面向对象方

25、面都有了很大的改进,现在php完全可以用来开发大型商业程序。 9)PHP 相对于其他语言,编辑简单,实用性强,更适合初学者。。 PHP技术的弱势: 1)缺乏对名字空间的支持。名字空间(namespace)是开发大型应用程序时非常有用的特性,它能够代码中的名字分配到不同的空间中,从而避免它们互相冲突。如果没有名字空间,在使用第三方库的时候,很容易遇到名字冲突的问题,即不同的类、接口、函数或全局变量使用了同样的名字。C++/Java/C#等语言都支持名字空间。名字空间本来是PHP5开发计划的一部分,但是由于这一特征对性能造成了明显的影响,最终在发布版中被取消了。因此,直到现在,PHP程序员们

26、仍然不得不使用非常长的名字(诸如Canata_Util_ConvertHtml())来避免名字冲突。 2)缺乏对Unicode的支持。PHP5 仍然没有添加对Unicode的内置支持,仅仅是增加了一些多字节字符串(Multibyte String)处理函数,而这些函数需要在编译时手工指定才能够打开。据说Unicode将在PHP 6中得到完整的支持。 3)缺乏统一的命名规范。和Java不同,PHP没有统一的命名规范。因此,PHP程序员随心所欲地使用他愿意使用的任何命名规范。象converttohtml()、ConvertToHtml()和convert_to_html()这样的命名规范往

27、往同时被使用。对于程序员自己来说,只要坚持使用一种命名规范,倒不是什么太大的问题;但是如果需要用到第三方库的时候,这种经验就不那么令人愉快了。 4)缺乏标准框架。到目前为止,PHP社区没有出现一套统一的、完整的Web开发框架,象Struts或Ruby on Rails那样。PHP程序员只有可复用的函数和类。这也许要部分地归因于PHP本身的特性,由于它无法实现有效的缓存机制,因此也无法构建传统的MVC框架。 2.2.3 PHP动态网站开发技术 PHP 原本的简称为 Personal Home Page,是Rasmus Lerdorf 为了要维护个人网页,而用c语言开发的一些CGI工具

28、程序集,来取代原先使用的 Perl 程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开释出,希望可以透过社群来加速程序开发与寻找错误。这个释出的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。 在1997年,任职

29、于 Technion IIT 公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础,而 PHP 也在这个时候改称为PHP: Hypertext Preprocessor.[5]。经过几个月测试,开发团队在1997年11月释出了 PHP/FI 2,随后就开始 PHP 3 的开放测试,最后在1998年6月正式释出 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 释出后开始改写 PHP 的核心,这个在1999年释出的剖析器称为 Zend Engine[7],他们也在以色列的 Rama

30、t Gan 成立了 Zend Technologies 来管理 PHP 的开发。 在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式释出,2004年7月13日则释出了PHP 5,PHP 5则使用了第二代的Zend Engine[5]。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强。目前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。 2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding

31、和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能。 2.3 MVC及Struts介绍 2.3.1 MVC介绍 MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。 视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Apple

32、t。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的

33、角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。 业务模型还有一个

34、很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应

35、多个视图,一个视图可能对应多个模型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图2.2所示。 模型 封装应用程序状态 响应状态查询 应用程序功能 通知视图改变 视图 解释模型 模型更新请求 发送用户输入给控制器 允许控制器选择试图 控制器 定义应用程序行为 用户动作映射成模型更新

36、选择响应的视图 视图选择 用户请求 状态改变 状态查询 通知改变 方法调用 事件 图2.2 MVC组件类型的关系和功能 2.3.2 Struts介绍 Struts和其他的java架构一样,Struts 也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Struts框架的核心是一个弹性的控制层,基于如 Java Servlet ,JavaBeans,Resource Bundles与XML等标准技术,以及 Jakarta Commons 的一些类库。Struts有一组相互协作的类(组件)、Serlvet以及jsp tag lib组成。

37、基于Struts构架的Web应用程序基本上符合JSP Model2的设计标准,可以说是一个传统 MVC设计模式的一种变化类型。 Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用PHP自带的常用标记外

38、很少开发自己的标记,或许Struts是一个很好的起点。 3 系统分析 3.1任务描述 为了实现网络化、科学化、现代化的房屋出租管理,使用 MySQL和JavaScript及数据库技术相结合,编写一个B/S结构的房屋出租管理系统。系统的总体设计应该是提供给上网浏览者一个高效率,能进行丰富的网上活动的网站,为网站用户提供及时发布、查询房屋租赁信息的平台。 系统目标如下: 1)应用网络的优势,开发房屋出租信息网站,方便房屋出租者与房屋求租者交流,可以使双方都能了解彼此需求之后再进行交易,从而达到房屋信息被准确利用的目的。 2)网站用户能够在网站首页及时浏览房屋信息,并可以随时注册账

39、号,登录网站发布个人房屋信息。 3)网站有新闻公告模块,除了房屋信息,用户可以浏览、阅读本站公告和时事新闻。 4)管理员控制网站中对所有用户的各项信息管理,可以随时查看用户的个人信息及房屋信息,监督并防止用户录入非法信息。 5)如果网站用户对本网站有意见和建议,可以随时给网站管理员发送E-mail进行联系。 3.2用UML用例图描述系统需求 3.2.1用例图简介 用例图用来描述系统与参与者之间的相互作用,也可以说它是从用户角度出发对如何使用系统的描述。首先要理清下面几个概念: 角色:角色代表了某一事件发生的参与者,他用一个小人表示。在通常的网络项目中,角色常被用来代表使用网站

40、的用户(管理员、用户等),但角色的作用并不局限于此,它也可以用来代表与系统交互的其他实体。 用例:用例代表系统可以实现的功能,通常一个用例代表一组功能,它实质上规定了系统实现功能的范围。在实际项目开发过程中,一个项目中往往涉及很多个用例,此时需要将其分解成若干个子系统实现,以便于理解。在UML中,用例用一个椭圆表示。 用例图:当角色与用例发生某种关系时,就可以用一个图将它们关联起来,这就是用例图,角色与用例之间使用一个带箭头的实线连接,箭头方向代表使用者与被使用者关系。 3.2.2系统用例分析 房屋出租管理系统网站允许用户有两种身份:普通用户和管理员,每种身份操作起来都很方便、快捷

41、任何普通用户可以浏览、查看房屋租赁信息,但是如果想要发布个人的房屋租赁信息,这必须是经过注册、登录以后的用户。这些用户的基本信息都有管理员对其统一管理。系统网站用例图如图3.1所示。 注册 修改个人信息 发布房屋信息 删除房屋信息 浏览新闻公告 普通用户 管理用户信息 管理房屋信息 管理新闻公告 管理员 图3.1 系统用例图 3.3功能分析 根据前面对房屋出租管理系统的分析,可将其划分成前台和后台两部分。前台功能主要为网站普通用户提供(如图3.2所示),后台功能为管理员提供(如图3.3所示)。 软件的主要模块和功能如下: 前台功能: 1)普通用户模块:

42、浏览、搜索房屋信息,浏览网站新闻公告。 2)注册会员模块:浏览、搜索、发布、修改和删除房屋信息,修改个人密码信息,浏览网站新闻公告。 后台功能: 1)房屋管理:能查看房屋信息发布详细情况,并可作出删除管理。 2)注册会员管理:查看网站系统注册会员,并可作出删除管理。 3)新闻公告管理:添加、修改、浏览、删除公告。 注 册 登 录 普通用户 个人信息管理 浏览功能 身份验证 房屋信息管理 修改个人信息 发布房屋信息 删除房屋信息 查看房屋信息 查看新闻公告 修改房屋信息 3.2前台功能结构图 登 录 管理员 用户信息管理 新闻公告管理 身份验证

43、 房屋信息管理 查看用户信息 查看房屋信息 删除房屋信息 发布新闻公告 删除新闻公告 删除用户信息 查看新闻公告 图3.3 后台功能结构图 4 系统的设计与实现 4.1数据库的设计与实现 4.1.1数据库MySQL简介 MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是

44、开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是: MySQL的特性 1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 3)为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 4)支持多线程,充分利用CPU资源 5)优化的

45、SQL查询算法,有效地提高查询速度 6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名 7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8)提供用于管理、检查、优化数据库操作的管理工具 9)可以处理拥有上千万条记录的大型数据库 4.1.2数据库结构设计 将数据库概念结构转化为MySQL系统所支持的实际数据模型,也就是数据库的逻辑结构,系统数据库名称为068206111,数据库068206111中包含

46、用户信息,房屋出租、求租信息,房屋租赁信息评论,管理员工作表。通过对系统进行仔细分析以后,需要4个数据表来实现系统所要储存的主要数据。分别为:表4.1用户信息表、表4.2房屋出租、求租信息表、表4.3房屋租赁信息评论表、表4.4管理员工作表。 表4.1用户信息表 (kiqi_members) 字段 类型 Null 默认 uid mediumint(7) 否 Primary, Not Null username varchar(30) 是 password varchar(32) 是 表4.2房屋出租、求租信息表 (kiqi_fenlei_conte

47、nt) 字段 类型 Null 默认 id int(10) 否 Primary, Not Null title varchar(100) 是 albumid mediumint(7) 是 0 albumname varchar(50) 是 mid smallint(4) 是 0 spid mediumint(7) 是 0 fid mediumint(7) 是 0 fname varchar(50) 是 fid_bak1 mediumint(7) 是 0 fid_bak2 mediumint(7) 是 0

48、 fid_bak3 mediumint(7) 是 0 info tinyint(2) 是 0 hits mediumint(7) 是 0 comments mediumint(7) 是 0 posttime int(10) 是 0 list varchar(10) 是 uid mediumint(7) 是 0 username varchar(30) 是 titlecolor varchar(15) 是 fonttype tinyint(1) 是 0 picurl varchar(150) 是 i

49、spic tinyint(1) 是 0 yz tinyint(1) 是 0 yzer varchar(30) 是 yztime int(10) 是 0 levels tinyint(2) 是 0 levelstime int(10) 是 0 keywords varchar(100) 是 jumpurl varchar(150) 是 iframeurl varchar(150) 是 style varchar(15) 是 head_tpl varchar(150) 是 main_tpl varchar(150) 是 foot_tpl varchar(100) 是 target tinyint(1) 是 0 ishtml tinyint(1) 是 0 ip varchar(15) 是 lastfid mediumint(7) 是 0 money mediumint(7) 是 0 passwd varchar(32) 是 editer varchar(30) 是 edittime int(10) 是 0 begintime int(10) 是 0 endtime

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服