版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计(论文) 基于 b/s 结构的房屋出租管理系统 计算机科学与技术 2008 年 6 月 30 号 毕业论文 基于 b/s 结构的房屋出租管理系统 学学 生:生: 指导教师:指导教师: 专专 业:计算机科学与技术业:计算机科学与技术 所在单位:所在单位: 答辩日期:答辩日期:20082008 年年 6 6 月月 3030 日日 目目 录录 摘 要 .i abstract.ii 第 1 章 绪论.1 1.1 课题研究的背景介绍.1 1.2 系统开发环境及开发平台介绍.2 1.2.1 系统开发环境.2 1.2.2 系统开发平台简介.2 第 2 章 系统开发技术介绍.5 2.1 系统的 b/s
2、 结构.5 2.1.1 b/s 结构简介.5 2.1.2 b/s 架构软件的优势与劣势.6 2.1.3 b/s 框架与 c/s 框架的联系与区别.7 2.2 jsp 技术概述.8 2.2.1 jsp 简介.8 2.2.2 jsp 技术的强势与弱势分析.9 2.2.3 jsp 动态网站开发技术.10 2.3 mvc 及 struts 介绍.12 2.3.1 mvc 介绍.12 2.3.2 struts 介绍 .12 第 3 章 系统分析.15 3.1 任务描述.15 3.2 用 uml 用例图描述系统需求.15 3.2.1 用例图简介.15 3.2.2 系统用例分析.16 3.3 功能分析.16
3、 第 4 章 系统的设计与实现.18 4.1 数据库的设计与实现.18 4.1.1 数据库 sql server 2000 简介.18 4.1.2 数据库结构设计.19 4.2.3 数据库加载和调试.21 4.2.4 操作数据库.22 4.2 功能模块的设计与实现.23 4.2.1 系统注册模块.23 4.2.2 系统登录模块.24 4.2.3 普通用户功能模块.24 4.2.4 管理员功能模块.25 4.2.5 信息发布模块.26 4.2.6 信息查询模块.27 第 5 章 系统测试与维护.28 5.1 系统测试.28 5.2 网站维护.30 5.2.1 维护内容.30 5.2.2 维护方案
4、.31 结束语.32 致谢.33 参考资料.34 摘摘 要要 21 世纪,随着计算机科学的发展,数据库技术在 internet 中的应用越来越 广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当 今 wed 应用的潮流。如何通过网络有效进行交流是摆在我们面前的一个新的领 域。 本文阐述了如何构造一个 b/s 结构的房屋出租管理系统,对 b/s 结构、jsp 技术以及 sql server 原理进行了较深入的论述。阐述了对房屋出租管理系统的 需求分析、功能模块划分、数据库模式分析,功能模块的实现过程。在此基础 上,对所应用的关键技术进行描述。最后,对程序调试与调试结果进行论述。
5、 本文在研究目前国内外房屋出租管理系统情况的基础上,从实际需求出发, 采用当前较为流行的 b/s(browser/server 浏览器/服务器)结构和 jsp 动态网页 开发技术,基于 windows xp professional 操作系统和 sql server 2000 数据库, 采用 jsp 技术,设计并实现了一个功能较为完善的房屋出租管理系统。通过对 系统进行一系列的需求分析、设计、编码、测试等工作,该系统普通用户可以 浏览、查看房屋信息,可以注册成为网站会员、登陆网站,然后发布个人房屋 信息,还可以查看该网站的新闻公告等,管理员可以对网站会员、房屋信息以 及网站的新闻公告进行管理。
6、重点对系统设计过程作了相应描述,同时也对系 统需要改进的地方做了总结。 本系统结合因特网的发展、应用现状,采用了基于 web 的三层体系架构, 即浏览器web 应用服务器数据库服务器。通过对系统工作流程进行详 细需求分析,建立了系统的功能模型和数据流模型。确定系统的数据模型为关 系数据模型,进行了分析、设计、画出了 e-r 图。后台数据库选用了 sql server 2000 来实现。web 开发采用当前流行的 jsp(java server pages,动态网 页技术)技术,jsp 页面通过 jdbc(java database connectivity,java 数据库连接) 接口连接 s
7、ql server 2000 数据库,实现了浏览器端和服务器端的程序。系统经 过测试,运行效果稳定、操作方便、快捷。能较好的为该系统的房屋出租、求 租用户服务。 关键词 b/s 结构;jdbc 连接;sql server 2000; abstract along with the development of the computer science in 21 centuries, the database technique is more and more extensive in the application in the internet, providing the more t
8、houghtful and humanized service for the large network customer. characteristic have already become gradually the current as the application of wed nowadays. how to communicate on the web is a new topic facing us. this paper describes how to struct a system to have set forth house to let management a
9、dopt b/s structures, the paper describes the b/s structure and sql server, jsp technology principles. the article complete the needs analysis of an system for the management applications for communication which on the web, functional modules division and database model analysis. the technology is in
10、 progress here to what be applied key on the basis, describe that. final, comment that to procedure debugging with testing result being in progress. the discourse according to the practical demand of some users, which is on the base of the situation of the domestic and international recorded at pres
11、ent. adopt currently comparatively popular b/s (browser/server) structure and jsp development web page to develop a technology, 2000 data bases, adopt the jsp technology owing to windows xp professional os and sql server, the function having designed and realizing one is comparatively perfect house
12、to let management system. through a series of preparation such as requirement analization,design,coding,test through set forth house to let management system. that is the system domestic consumers turn to be able to register becoming the website member, landing website, browse,check building informa
13、tion,announce and then individual building information, can look up the press release that website waiting, administrative person can carry out administration on the website member, building information and the website press release. the small advantages having designed process work to system descri
14、bes priority, requires that the place improving has done a summary at the same time also to system. internet, application status, using a web-based three-tier system structure, the browser web application servers database servers. through the teacher evaluation process needs to conduct a detailed an
15、alysis, establish a system of the model and data model. identify the data model for relational data model for the analysis, design, which depicts the e-r charts. selection of the background database sql server 2000 is to be achieved. web develops using current popular jsp (java server pages, dynamic
16、 web technology) technology, jsp pages through jdbc (java database connectivity) interface to sql server 2000 database. it has realized a browser holding the procedure really with the server. through the testing, the operation result of the system is steady .it is easy to operate and the speed is fa
17、st. it can give a good service for the users who use the system. key words b/s structure; jdbc; sql server 2000 第 1 章 绪论 1.1 课题研究的背景介绍 随着社会经济的发展,城市现代化建设步伐不断加快,城市规模不断扩大, 人员的流动也不断加大,房屋出租逐渐成为社会生活的重要组成部分。无论是 房屋出租还是房屋求租,都面临着大量需求。 说到房屋出租,我们首先想到的就是房屋中介,但是不论对于房屋出租者 还是对于求租者来说,要面对的问题实在让人头疼,首先是琳琅满目的中介公 司让人感到无从
18、选择,在要顾及中介单位可信度的同时,大量复杂的房产信息 使他们感到迷茫,难以快速、准确地从中找到适合自己的房屋信息。再者,出 租、承租双方进行交易的时候还要通过中介,使交易过程更加繁琐。而且中介 单位还要收取的一定比例的中介费用,这也在一定程度上加重了房屋承租者的 负担。因此,现实社会中急需一个第三者为房屋出租者与房屋求租者牵线搭桥, 来弥补中介单位的种种不足。 在互联网蓬勃发展的今天,网络和我们的生活、工作越来越密不可分,网 络正领导着一个新时代的来临。于是我们就利用开放的 internet 技术,开发出实 时、快捷、全方位传播信息的平台,我们制作的房屋出租管理系统的网站,就 成了人们关于生
19、活中住房问题的信息载体,使得房屋信息在出租者与求租者之 间传播更为轻松。这样,使原本复杂的房屋信息简单化,系统能及时为他们提 供服务,使出租求租双方都能够方便快捷的得到信息。通过本系统来管理房屋 出租情况,可以解决大量房屋信息的查询和管理,便于房屋出租者更好的发布 其房屋信息,同时也为租房者提供方便。并且能够培养我们的综合分析设计能 力,同时提高动手实践的能力。 1.2 系统开发环境及开发平台介绍 1.2.1 系统开发环境 1.硬件环境 (1) cpu:duo t5600 1.83ghz; (2) 内存:512mb 以上; (3) 硬盘:100g.。 2.软件环境 (1) 操作系统:windo
20、ws xp; (2) 数据库:sql server 2000; (3) 开发工具包:jdk1.5.0; (4) jsp 服务器:tomcat6.0; (5) 浏览器:ie 7.0。 1.2.2 系统开发平台简介 1.系统开发平台 本系统开发语言选用 java,jsp,所以采用 myeclipse,tomcat 为主要开发 工具,然后结合 dreamweaver,sql server 2000 数据库管理系统与 windows xp 操作系统进行。既考虑了系统的需求,又兼顾了运行的效率,以及今后系统 的功能拓展等。 2.tomcat 简介 如今,基于 web 的应用越来越多,传统的 html 已
21、经满足不了如今的需求。 我们需要一个交互式的 web,于是便诞生了各种 web 语言。如 asp,jsp,php 等。当然,这些语言与传统的语言有着密切的联系,如 php 基于 c 和 c+语言, jsp 基于 java 语言。tomcat 即是一个 jsp 和 servlet 的运行平台。 tomcat 是一个免费的开源的 serlvet 容器,它是 apache 基金会的 jakarta 项 目中的一个核心项目,由 apache,sun 和其它一些公司及个人共同开发而成。 由于有了 sun 的参与和支持,最新的 servlet 和 jsp 规范总能在 tomcat 中得到 体现。tomca
22、t 被 javaworld 杂志的编辑选为 2001 年度最具创新的 java 产品, 可见其在业界的地位。 在 tomcat 中,应用程序的部署很简单,你只需将你的 war 放到 tomcat 的 webapp 目录下,tomcat 会自动检测到这个文件,并将其解压。你在浏览器 中访问这个应用的 jsp 时,通常第一次会很慢,因为 tomcat 要将 jsp 转化为 servlet 文件,然后编译。编译以后,访问将会很快。另外 tomcat 也提供了一 个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个 xml 文件中。通过这个应用,辅助于 ftp,你可以在远程通过
23、 web 部署和撤销 应用。当然本地也可以。 tomcat 有三种工作模式,分别是独立的 servlet 容器、进程内的 servlet 容 器和进程外的 servlet 容器。在利用其进行开发之前必须要清楚 tomcat 的目录 结构。因为它的目录结构和 web 系统的创建和发布都有着很大的关系,通常, tomcat 的目录结构如下表: 表 1-1 tomcat 的目录结构 目录描述 /bin存放启动和关闭 tomcat 的各种脚本文件 /conf存放 tomcat 服务器的各种配置文件 /server/lib包含了 3 个子目录:即 classes、lib、webapps; /server
24、/webapps存放 tomcat 服务器所需要的各种 jar 文件 /common/lib存放 tomcat 自带的两个 web 应用:admin 应用和 manager 应 用 /shared/lib存放 tomcat 服务器及所有 web 应用都可以访问的 jar 文件 l/ogs存在所有 web 应用都可以访问的 jar 文件 /webapps当发布 web 应用时,默认情况下把 web 应用放在此目录下 /worktomcat 把 jsp 生成的 servlet 放在此目录下 tomcat 不仅仅是一个 servlet 容器,它也具有传统的 web 服务器的功能: 处理 html 页
25、面。但是与 apache 相比,它的处理静态 html 的能力就不如 apache.我们可以将 tomcat 和 apache 集成到一块,让 apache 处理静态 html, 而 tomcat 处理 jsp 和 servlet.这种集成只需要修改一下 apache 和 tomcat 的配 置文件即可。 基于 tomcat 的开发其实主要是 jsp 和 servlet 的开发,开发 jsp 和 servlet 非常简单,你可以用普通的文本编辑器或者 ide,然后将其打包成 war 即可。 我们这里要提到另外一个工具 ant,ant 也是 jakarta 中的一个子项目,它所实 现的功能类似于
26、 unix 中的 make.你需要写一个 build.xml 文件,然后运行 ant 就 可以完成 xml 文件中定义的工作,这个工具对于一个大的应用来说非常好,我 们只需在 xml 中写很少的东西就可以将其编译并打包成 war.事实上,在很多 应用服务器的发布中都包含了 ant.另外,在 jsp1.2 中,可以利用标签库实现 java 代码与 html 文件的分离,使 jsp 的维护更方便。tomcat 确实是一个很好 的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越 来越收到人们的重视,linux 就是一个成功的典型。 3.myeclipse 简介 myeclipse
27、企业级工作平台(myeclipse enterprise workbench ,简称 myeclipse)是对 eclipse ide 的扩展,利用它我们可以在数据库和 j2ee 的开发、 发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 j2ee 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 html, struts, jsf, css, javascript, sql, hibernate。简单而言,myeclipse 是 eclipse 的插件,也是一款功能强大的 j2ee 集成开发环境,支持代码编写、配 置、测试以及除错。 genuitec 发布了
28、 myeclipse enterprise workbench 5.0,更智能、更快捷、更 简单和更便宜的 j2ee 工具的新版本的诞生。它的价格对于个人和企业开发人员 来说都是非常有吸引力的。这是 j2ee ide 市场一个重量级的选手。通过增加 uml 双向建模工具、wysiwyg 的 jsp/strutsdesigner、可视化的 hibernate/orm 工具、spring 和 web services 支持,以及新的 oracle 数据库开 发,myeclipse 5.0 继续为业界提供全面的产品。 第 2 章 系统开发技术介绍 2.1 系统的 b/s 结构 2.1.1 b/s 结
29、构简介 b/s 结构:(browser/server,浏览器/服务器模式):是 web 兴起后的一 种网络结构模式,web 浏览器是客户端最主要的应用软件。这种模式统一了客 户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护 和使用。 客户机上只要安装一个浏览器(browser) ,如 netscape navigator 或 internet explorer,服务器安装 oracle、sybase、informix 或 sql server 等数据 库。b/s 模式体系结构的原理如图 2-1 所示,浏览器通过 web server 同数据库 进行数据交互。 图 2-1 b
30、/s 模式体系结构原理图 b/s 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。 只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。 b/s 结构的使用越来越多,特别是由需求推动了 ajax 技术的发展,它的 程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并 增加了交互性,能进行局部实时刷新。 web 服务器 应用服务器 http 请求 html 界面结果 sql 请求 数据库 服务器 web 浏览器 2.1.2 b/s 架构软件的优势与劣势 维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,b/s 架 构的产品明显体现着更为方便的特
31、性。对一个稍微大一点单位来说,系统管理 人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知 的,但 b/s 架构的软件只需要管理服务器就行了,所有的客户端只是浏览器, 根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增 加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地, 只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来 越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级 和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、 费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式
32、是“瘦”客户 机, “胖”服务器。 成本降低,选择更多。大家都知道 windows 在桌面电脑上几乎一统天下, 浏览器成为了标准配置,但在服务器操作系统上 windows 并不是处于绝对的统 治地位。 现在的趋势是凡使用 b/s 架构的应用管理软件,只需安装在 linux 服 务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用 那种操作系统都可以让大部分人使用 windows 作为桌面操作系统电脑不受影响, 这就使的最流行免费的 linux 操作系统快速发展起来,linux 除了操作系统是免 费的以外,连数据库也是免费的,这种选择非常盛行。 比如说很多人每天上“新浪”网,只要
33、安装了浏览器就可以了,并不需要了 解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用 windows 操作系统,但用户的电脑本身安装的大部分是 windows 操作系统。 应用服务器运行数据负荷较重。由于 b/s 架构管理软件只安装在服务器端 上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器 端完全通过 www 浏览器实现,极少部分事务逻辑在前端实现,所有的客户端 只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负 荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备 有数据库存储服务器,以防万一。 2.1.3 b/s
34、框架与 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 浏览器实现,一部分事务逻辑 在前端实现,但是主要事务逻辑在服
35、务器端实现。浏览器通过 web server 同数 据库进行数据交互。 c/s 与 b/s 区别: (1) 硬件环境不同 c/s 一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过 专门服务器提供连接和数据交换服务。 b/s 建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网, 租用设备,信息自己管理。有比 c/s 更强的适应范围,一般只要有操作系统和 浏览器就行。 (2) 对安全要求不同 c/s 一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度 机密的信息系统采用 c/s 结构适宜。可以通过 b/s 发布部分可公开信息。 b/s 建立在广域网之上,对安全的控制能
36、力相对弱,可能面向不可知的用 户。 (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
37、 面对的多重结构,要求构件相对独立的功能,能够相对较好的重用, 就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。 (5) 系统维护不同 c/s 程序由于整体性,必须整体考察,处理出现的问题以及系统升级。升 级难,可能要再做一个全新的系统。 b/s 构件组成,方面构件个别的更换,实现系统的无缝升级。系统维护开 销减到最小,用户从网上自己下载安装就可以实现升级。 (6) 处理问题不同 c/s 程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操 作系统相关,应该都是相同的系统。 b/s 建立在广域网上,面向不同的用户群,分散地域,这是 c/s 无法作到 的. 与操作系统平台关系最小。
38、(7) 用户接口不同 c/s 多是建立的 window 平台上,表现方法有限,对程序员普遍要求较高。 b/s 建立在浏览器上,有更加丰富和生动的表现方式与用户交流。并且大 部分难度减低,减低开发成本。 (8) 信息流不同 c/s 程序一般是典型的中央集权的机械式处理,交互性相对低。 b/s 信息流向可变化, b-b b-c b-g 等信息、流向的变化,更像交易中心。 2.2 jsp 技术概述 2.2.1 jsp 简介 jsp(java server pages)是由 sun microsystems 公司倡导、许多公司参与一起 建立的一种动态网页技术标准。jsp 技术有点类似 asp 技术,它
39、是在传统的网 页 html 文件(*.htm,*.html)中插入 java 程序段(scriptlet)和 jsp 标记(tag),从而 形成 jsp 文件(*.jsp)。 用 jsp 开发的 web 应用是跨平台的,即能在 linux 下运行,也能在其他操 作系统上运行。 jsp 技术使用 java 编程语言编写类 xml 的 tags 和 scriptlets,来封装产生 动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源 的应用逻辑。jsp 将网页逻辑与网页设计和显示分离,支持可重用的基于组件 的设计,使基于 web 的应用程序的开发变得迅速和
40、容易。 web 服务器在遇到访问 jsp 网页的请求时,首先执行其中的程序段,然后 将执行结果连同 jsp 文件中的 html 代码一起返回给客户。插入的 java 程序段 可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 jsp 与 java servlet 一样,是在服务器端执行的,通常返回该客户端的就是 一个 html 文本,因此客户端只要有浏览器就能浏览。 jsp 页面由 html 代码和嵌入其中的 java 代码所组成。服务器在页面被客 户端请求以后对这些 java 代码进行处理,然后将生成的 html 页面返回给客户 端的浏览器。java servlet 是 jsp
41、 的技术基础,而且大型的 web 应用程序的开 发需要 java servlet 和 jsp 配合才能完成。jsp 具备了 java 技术的简单易用,完 全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 2.2.2 jsp 技术的强势与弱势分析 1.jsp 技术的强势 (1)一次编写,到处运行。在这一点上 java 比php更出色,除了系统之 外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在 任意环境中进行系统部署,在任意环境中扩展。相比 asp/php 的局限性是显而 易见的。 (3)强大的可伸缩性。从只有一个小的jar文件就可以
42、运行 servlet/jsp, 到由多台服务器进行集群和负载均衡,到多台 application 进行事务处理,消息 处理,一台服务器到无数台服务器,java 显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与 asp 很像,java 已经 有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可 以顺利的运行于多种平台之下。 2.jsp 技术的弱势 (1) 与 asp 一样,java 的一些优势正是它致命的问题所在。正是由于为了 跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2) java 的运行速度是用 class 常驻内存来完成的,
43、所以它在一些情况下所 使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还 需要硬盘空间来储存一系列的.java 文件和.class 文件,以及对应的版本文件。 2.2.3 jsp 动态网站开发技术 太阳微系统公司(sun microsystems inc.)在 web 服务器、应用服务器、交易 系统以及开发工具供应商间广泛支持与合作下,整合并平衡了已经存在的对 java 编程环境(例如 java servlets 和 javabeans)进行支持的技术和工具后产生 了一种新的、开发基于 web 应用程序的方法java server pages 技术(jsp) 。 这种动态网
44、站开发技术的特点是:能够在任何 web 或应用程序服务器上运行; 分离了应用程序的逻辑和页面显示; 能够进行快速的开发和测试; 简化了开 发基于 web 的交互式应用程序的过程。 为了快速方便地进行动态网站的开发,jsp 在以下几个方面做了改进,使 其成为快速建立跨平台的动态网站的首选方案。 (1) 将内容的生成和显示进行分离 用 jsp 技术,web 页面开发人员可以使用 html 或者 xml 标识来设计和 格式化最终页面,并使用 jsp 标识或者小脚本来生成页面上的动态内容(内容 是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等) 。生成内容 的逻辑被封装在标识和 javabe
45、ans 组件中,并且捆绑在脚本中,所有的脚本在 服务器端运行。由于核心逻辑被封装在标识和 javabeans 中,所以 web 管理人 员和页面设计者,能够编辑和使用 jsp 页面,而不影响内容的生成。 在服务器端,jsp 引擎解释 jsp 标识和脚本,生成所请求的内容(例如, 通过访问 javabeans 组件,使用 jdbc 技术访问数据库或者包含文件) ,并且将 结果以 html(或者 xml)页面的形式发送回浏览器。这既有助于作者保护自 己的代码,又能保证任何基于 html 的 web 浏览器的完全可用性。 (2) 可重用组件 绝大多数 jsp 页面依赖于可重用的、跨平台的组件(jav
46、abeans 或者 enterprise javabeans 组件)来执行应用程序所要求的复杂的处理。开发人员能 够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户 团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们 现有的技能和优化结果的开发努力中得到平衡。 (3) 采用标识 web 页面开发人员不会都是熟悉脚本语言的编程人员。jsp 技术封装了许 多功能,这些功能是在易用的、与 jsp 相关的 xml 标识中进行动态内容生成 所需要的。标准的 jsp 标识能够访问和实例化 javabeans 组件,设置或者检索 组件属性,下载 applet,以及执行用其
47、他方法更难于编码和耗时的功能。 (4) 适应平台 几乎所有平台都支持 java,jspjavabeans 几乎可以在所有平台下通行无 阻。从一个平台移植到另外一个平台,jsp 和 javabeans 甚至不用重新编译,因 为 java 字节码都是标准的与平台无关的。 (5) 数据库连接 java 中连接数据库的技术是 jdbc,java 程序通过 jdbc 驱动程序与数据 库相连,执行查询、提取数据等操作。sun 公司还开发了 jdbcodbc bridge,利用此技术 java 程序可以访问带有 odbc 驱动程序的数据库,目前大 多数数据库系统都带有 odbc 驱动程序,所以 java 程
48、序能访问诸如 oracle、sybase、ms sql server 和 ms access 等数据库。 此外,通过开发标识库,jsp 技术可以进一步扩展。第三方开发人员和其 他人员可以为常用功能创建自己的标识库。这使得 web 页面开发人员能够使用 熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。 jsp 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧, 并且能扩展到支持企业级的分布式应用中。作为采用 java 技术家族的一部分, 以及 java 2(企业版体系结构)的一个组成部分,jsp 技术能够支持高度复杂的 基于 web 的应用。 由于 jsp 页面的内置脚本语言是
49、基于 java 的,而且所有的 jsp 页面都被编 译成为 java servlets,所以 jsp 页面具有 java 技术的所有好处,包括健壮的存 储管理和安全性。作为 java 平台的一部分,jsp 拥有 java 编程语言“一次编写, 各处运行”的特点。 利用 jsp 技术,动态信息由 jsp 页面来表现,jsp 页面由安装在 web 服务 器或者使用 jsp 的应用服务器上的 jsp 引擎执行。jsp 引擎接受客户端对 jsp 页面的请求,并且生成 jsp 页面作为对客户端的响应。 jsp 页面通常被编译成为 java servlets,这是一个标准的 java 扩展。页面 开发人员
50、能够访问全部的 java 应用环境,以利用 java 技术的扩展性和可移植性。 当 jsp 页面第一次被调用时,如果它还不存在,就会被编译成为一个 java servlets 类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用 中,服务器会有非常快的响应(这避免了 cgibin 为每个 http 请求生成一 个新的进程的问题) 。 jsp 页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不 同协议、组件和格式所组成的联合体中。基于 jsp 的动态信息发布技术是一个 开放的、可扩展的建立动态 web 页面的标准。不论采用什么创建工具,开发人 员都可以使用 jsp 页面来创建
51、可移植的 web 应用,在不同的 web 应用服务器 上运行。 2.3 mvc 及 struts 介绍 2.3.1 mvc 介绍 mvc 模式是model-view-controller的缩写,中文翻译为模式-视图-控制 器。即把一个应用的输入、处理、输出流程按照 model、view、controller 的 方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。 视图(view)代表用户交互界面,对于 web 应用来说,可以概括为 html 界面,但有可能为 xhtml、xml 和 applet。随着应用的复杂性和规模性,界 面的处理也变得具有挑战性。一个应用可能有很多不同的视图,
52、mvc 设计模式 对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括 在视图上的业务流程的处理。业务流程的处理交予模型(model)处理。比如一个 订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据 和请求传递给控制和模型。 模型(model):就是业务流程/状态的处理以及业务规则的制定。业务流程 的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终 的处理结果。业务模型的设计可以说是 mvc 最主要的核心。目前流行的 ejb 模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的 划分,以便充分利用现有的组件,但它不能作为应用
53、设计模型的框架。它仅仅 告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。 对一个开发者来说,就可以专注于业务模型的设计。mvc 设计模式告诉我们, 把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人 员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。mvc 并没有 提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构 和提高重用性。我们可以用对象编程来做比喻,mvc 定义了一个顶级类,告诉 它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常 重要。 业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对
54、象的数据 保存(持续化) 。比如将一张订单保存到数据库,从数据库获取订单。 我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制(controller)可以理解为从用户接收请求, 将模型与视图匹配在一起, 共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是 一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户 请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受 请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么, 选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视 图可能对应多个模型。
55、 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果 用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视 图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将 变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。 模型、视图、控制器三者之间的关系和各自的主要功能,如图 2-2 所示。 模型模型 封装应用程序状态 响应状态查询 应用程序功能 通知视图改变 视图视图 解释模型 模型更新请求 发送用户输入给控制器 允许控制器选择试图 控制器控制器 定义应用程序行为 用户动作映射成模型更新 选择响应的视图 视图选择 用户请求 状态改变
56、状态查询 通知改变 方法调用事件 图 2-2 mvc 组件类型的关系和功能 2.3.2 struts 介绍 struts 是 apache 基金会 jakarta 项目组的一个 open source 项目,它采用 mvc 模式,能够很好地帮助 java 开发者利用 j2ee 开发 web 应用。和其他的 java 架构一样,struts 也是面向对象设计,将 mvc 模式分离显示逻辑和业务 逻辑的能力发挥得淋漓尽致。struts 框架的核心是一个弹性的控制层,基于如 java servlet ,javabeans,resource bundles 与 xml 等标准技术,以及 jakarta
57、 commons 的一些类库。struts 有一组相互协作的类(组件) 、serlvet 以及 jsp tag lib 组成。基于 struts 构架的 web 应用程序基本上符合 jsp model2 的设计标 准,可以说是一个传统 mvc 设计模式的一种变化类型。 struts 这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是 为了减少在运用 mvc 设计模型来开发 web 应用的时间。struts 跟 tomcat、turbine 等诸多 apache 项目一样,是开源软件,这是它的一大优点, 使开发者能更深入的了解其内部实现机制。除此之外,struts 的优点主要集中体 现
58、在两个方面:taglib 和页面导航。taglib 是 struts 的标记库,灵活动用,能大 大提高开发效率。另外,就目前国内的 jsp 开发者而言,除了使用 jsp 自带的 常用标记外,很少开发自己的标记,或许 struts 是一个很好的起点。 第 3 章 系统分析 3.1 任务描述 为了实现网络化、科学化、现代化的房屋出租管理,使用 jsp、servlet 和 javabean 及数据库技术相结合,编写一个 b/s 结构的房屋出租管理系统。系统 的总体设计应该是提供给上网浏览者一个高效率,能进行丰富的网上活动的网 站,为网站用户提供及时发布、查询房屋租赁信息的平台。 系统目标如下: 1应
59、用网络的优势,开发房屋出租信息网站,方便房屋出租者与房屋求租 者交流,可以使双方都能了解彼此需求之后再进行交易,从而达到房屋信息被 准确利用的目的。 2网站用户能够在网站首页及时浏览房屋信息,并可以随时注册账号,登 录网站发布个人房屋信息。 3网站有新闻公告模块,除了房屋信息,用户可以浏览、阅读本站公告和 时事新闻。 4管理员控制网站中对所有用户的各项信息管理,可以随时查看用户的个 人信息及房屋信息,监督并防止用户录入非法信息。 5如果网站用户对本网站有意见和建议,可以随时给网站管理员发送 e- mail 进行联系。 3.2 用 uml 用例图描述系统需求 3.2.1 用例图简介 用例图用来描
60、述系统与参与者之间的相互作用,也可以说它是从用户角度 出发对如何使用系统的描述。首先要理清下面几个概念: 角色:角色代表了某一事件发生的参与者,他用一个小人表示。在通常的 网络项目中,角色常被用来代表使用网站的用户(管理员、用户等) ,但角色的 作用并不局限于此,它也可以用来代表与系统交互的其他实体。 用例:用例代表系统可以实现的功能,通常一个用例代表一组功能,它实 质上规定了系统实现功能的范围。在实际项目开发过程中,一个项目中往往涉 及很多个用例,此时需要将其分解成若干个子系统实现,以便于理解。在 uml 中,用例用一个椭圆表示。 用例图:当角色与用例发生某种关系时,就可以用一个图将它们关联
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《焊接工程综合实验》实验教学大纲
- 玉溪师范学院《体育科学研究方法》2022-2023学年第一学期期末试卷
- 数学15的认识教学课件教学课件教学
- 拆除工程施工方案
- 2024年电子控制自动变速箱项目评估分析报告
- 2024年网络接口适配器项目成效分析报告
- 2024年碱锰电池项目成效分析报告
- 采购产品特定模具费用先期垫付协议书
- 不带机械操作手的机械租赁合同
- 必胜客离职合同
- 煤矿干部个人思想工作总结(四)
- 【外科学】微创外科技术-课件
- 医学内镜洗消标准和流程培训课件
- 2023年人民法院电子音像出版社招聘笔试模拟试题及答案解析
- 教育学和教育心理学试题库含答案解析背诵版
- 何谓俗世奇人整本书导读课件
- 高三百日冲刺主题班会成功只需要100天
- 芍药文化课件
- 统编版语文六年级(上册)第5单元《习作:围绕中心意思写》评改指导
- (完整)2018年最新出版国军标航空标准大全,推荐文档
- 八年级英语家长会-课件
评论
0/150
提交评论