JSP房屋出租管理系統(tǒng)設(shè)計(jì)_第1頁
JSP房屋出租管理系統(tǒng)設(shè)計(jì)_第2頁
JSP房屋出租管理系統(tǒng)設(shè)計(jì)_第3頁
JSP房屋出租管理系統(tǒng)設(shè)計(jì)_第4頁
JSP房屋出租管理系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、目目 錄錄 摘 要 .I Abstract.II 第 1 章 緒論.1 1.1 課題研究的背景介紹.1 1.2 系統(tǒng)開發(fā)環(huán)境及開發(fā)平臺(tái)介紹.2 1.2.1 系統(tǒng)開發(fā)環(huán)境.2 1.2.2 系統(tǒng)開發(fā)平臺(tái)簡介.2 第 2 章 系統(tǒng)開發(fā)技術(shù)介紹.5 2.1 系統(tǒng)的 B/S 結(jié)構(gòu).5 2.1.1 B/S 結(jié)構(gòu)簡介.5 2.1.2 B/S 架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì).6 2.1.3 B/S 框架與 C/S 框架的聯(lián)系與區(qū)別.7 2.2 JSP 技術(shù)概述.8 2.2.1 JSP 簡介.8 2.2.2 JSP 技術(shù)的強(qiáng)勢(shì)與弱勢(shì)分析.9 2.2.3 JSP 動(dòng)態(tài)網(wǎng)站開發(fā)技術(shù).10 2.3 MVC 及 Struts 介

2、紹.12 2.3.1 MVC 介紹.12 2.3.2 Struts 介紹 .12 第 3 章 系統(tǒng)分析.15 3.1 任務(wù)描述.15 3.2 用 UML 用例圖描述系統(tǒng)需求.15 3.2.1 用例圖簡介.15 3.2.2 系統(tǒng)用例分析.16 3.3 功能分析.16 第 4 章 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).18 4.1 數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn).18 4.1.1 數(shù)據(jù)庫 SQL Server 2000 簡介.18 4.1.2 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì).19 4.2.3 數(shù)據(jù)庫加載和調(diào)試.21 4.2.4 操作數(shù)據(jù)庫.22 4.2 功能模塊的設(shè)計(jì)與實(shí)現(xiàn).23 4.2.1 系統(tǒng)注冊(cè)模塊.23 4.2.2 系統(tǒng)登錄模塊.24

3、4.2.3 普通用戶功能模塊.24 4.2.4 管理員功能模塊.25 4.2.5 信息發(fā)布模塊.26 4.2.6 信息查詢模塊.27 第 5 章 系統(tǒng)測(cè)試與維護(hù).28 5.1 系統(tǒng)測(cè)試.28 5.2 網(wǎng)站維護(hù).30 5.2.1 維護(hù)內(nèi)容.30 5.2.2 維護(hù)方案.31 結(jié)束語.32 致謝.33 參考資料.34 摘摘 要要 21 世紀(jì),隨著計(jì)算機(jī)科學(xué)的發(fā)展,數(shù)據(jù)庫技術(shù)在 Internet 中的應(yīng)用越來越 廣泛,為廣大網(wǎng)絡(luò)用戶提供了更加周到和人性化的服務(wù)。個(gè)性化已逐漸成為當(dāng) 今 Wed 應(yīng)用的潮流。如何通過網(wǎng)絡(luò)有效進(jìn)行交流是擺在我們面前的一個(gè)新的領(lǐng) 域。 本文闡述了如何構(gòu)造一個(gè) B/S 結(jié)構(gòu)的房

4、屋出租管理系統(tǒng),對(duì) B/S 結(jié)構(gòu)、JSP 技術(shù)以及 SQL Server 原理進(jìn)行了較深入的論述。闡述了對(duì)房屋出租管理系統(tǒng)的 需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,功能模塊的實(shí)現(xiàn)過程。在此基礎(chǔ) 上,對(duì)所應(yīng)用的關(guān)鍵技術(shù)進(jìn)行描述。最后,對(duì)程序調(diào)試與調(diào)試結(jié)果進(jìn)行論述。 本文在研究目前國內(nèi)外房屋出租管理系統(tǒng)情況的基礎(chǔ)上,從實(shí)際需求出發(fā), 采用當(dāng)前較為流行的 B/S(Browser/Server 瀏覽器/服務(wù)器)結(jié)構(gòu)和 JSP 動(dòng)態(tài)網(wǎng)頁 開發(fā)技術(shù),基于 Windows XP Professional 操作系統(tǒng)和 SQL Server 2000 數(shù)據(jù)庫, 采用 JSP 技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)功能較為完善

5、的房屋出租管理系統(tǒng)。通過對(duì) 系統(tǒng)進(jìn)行一系列的需求分析、設(shè)計(jì)、編碼、測(cè)試等工作,該系統(tǒng)普通用戶可以 瀏覽、查看房屋信息,可以注冊(cè)成為網(wǎng)站會(huì)員、登陸網(wǎng)站,然后發(fā)布個(gè)人房屋 信息,還可以查看該網(wǎng)站的新聞公告等,管理員可以對(duì)網(wǎng)站會(huì)員、房屋信息以 及網(wǎng)站的新聞公告進(jìn)行管理。重點(diǎn)對(duì)系統(tǒng)設(shè)計(jì)過程作了相應(yīng)描述,同時(shí)也對(duì)系 統(tǒng)需要改進(jìn)的地方做了總結(jié)。 本系統(tǒng)結(jié)合因特網(wǎng)的發(fā)展、應(yīng)用現(xiàn)狀,采用了基于 WEB 的三層體系架構(gòu), 即瀏覽器WEB 應(yīng)用服務(wù)器數(shù)據(jù)庫服務(wù)器。通過對(duì)系統(tǒng)工作流程進(jìn)行詳 細(xì)需求分析,建立了系統(tǒng)的功能模型和數(shù)據(jù)流模型。確定系統(tǒng)的數(shù)據(jù)模型為關(guān) 系數(shù)據(jù)模型,進(jìn)行了分析、設(shè)計(jì)、畫出了 E-R 圖。后臺(tái)數(shù)

6、據(jù)庫選用了 SQL Server 2000 來實(shí)現(xiàn)。WEB 開發(fā)采用當(dāng)前流行的 JSP(Java Server Pages,動(dòng)態(tài)網(wǎng) 頁技術(shù))技術(shù),JSP 頁面通過 JDBC(Java Database Connectivity,Java 數(shù)據(jù)庫連接) 接口連接 SQL Server 2000 數(shù)據(jù)庫,實(shí)現(xiàn)了瀏覽器端和服務(wù)器端的程序。系統(tǒng)經(jīng) 過測(cè)試,運(yùn)行效果穩(wěn)定、操作方便、快捷。能較好的為該系統(tǒng)的房屋出租、求 租用戶服務(wù)。 關(guān)鍵詞 B/S 結(jié)構(gòu);JDBC 連接;SQL Server 2000; Abstract Along with the development of the computer

7、 science in 21 centuries, the database technique is more and more extensive in the application in the Internet, providing the more thoughtful and humanized service for the large network customer. Characteristic have already become gradually the current as the application of Wed nowadays. How to comm

8、unicate 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 adopt 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 manag

9、ement applications for communication which on the web, functional modules division and database model analysis. The technology is in 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 accor

10、ding to the practical demand of some users, which is on the base of the situation of the domestic and international recorded at present. adopt currently comparatively popular B/S (Browser/Server) structure and JSP development Web page to develop a technology, 2000 data bases, adopt the JSP technolog

11、y owing to Windows XP Professional OS and SQL Server, the function having designed and realizing one is comparatively perfect house 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 t

12、he system domestic consumers turn to be able to register becoming the website member, landing website, browse,check building information,announce and then individual building information, can look up the press release that website waiting, administrative person can carry out administration on the we

13、bsite member, building information and the website press release. The small advantages having designed process work to system describes 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 st

14、ructure, the browser Web application servers database servers. Through the teacher evaluation process needs to conduct a detailed analysis, 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. Select

15、ion of the background database SQL Server 2000 is to be achieved. Web develops using current popular JSP (Java Server Pages, Dynamic web technology) technology, JSP pages through JDBC (Java Database Connectivity) interface to SQL Server 2000 database. It has realized a browser holding the procedure

16、really with the server. Through the testing, the operation result of the system is steady .It is easy to operate and the speed is fast. 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 課題研究的背景介紹 隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市現(xiàn)代化建設(shè)步伐不斷加快,城市規(guī)模不斷擴(kuò)大,

17、 人員的流動(dòng)也不斷加大,房屋出租逐漸成為社會(huì)生活的重要組成部分。無論是 房屋出租還是房屋求租,都面臨著大量需求。 說到房屋出租,我們首先想到的就是房屋中介,但是不論對(duì)于房屋出租者 還是對(duì)于求租者來說,要面對(duì)的問題實(shí)在讓人頭疼,首先是琳瑯滿目的中介公 司讓人感到無從選擇,在要顧及中介單位可信度的同時(shí),大量復(fù)雜的房產(chǎn)信息 使他們感到迷茫,難以快速、準(zhǔn)確地從中找到適合自己的房屋信息。再者,出 租、承租雙方進(jìn)行交易的時(shí)候還要通過中介,使交易過程更加繁瑣。而且中介 單位還要收取的一定比例的中介費(fèi)用,這也在一定程度上加重了房屋承租者的 負(fù)擔(dān)。因此,現(xiàn)實(shí)社會(huì)中急需一個(gè)第三者為房屋出租者與房屋求租者牽線搭橋,

18、 來彌補(bǔ)中介單位的種種不足。 在互聯(lián)網(wǎng)蓬勃發(fā)展的今天,網(wǎng)絡(luò)和我們的生活、工作越來越密不可分,網(wǎng) 絡(luò)正領(lǐng)導(dǎo)著一個(gè)新時(shí)代的來臨。于是我們就利用開放的 Internet 技術(shù),開發(fā)出實(shí) 時(shí)、快捷、全方位傳播信息的平臺(tái),我們制作的房屋出租管理系統(tǒng)的網(wǎng)站,就 成了人們關(guān)于生活中住房問題的信息載體,使得房屋信息在出租者與求租者之 間傳播更為輕松。這樣,使原本復(fù)雜的房屋信息簡單化,系統(tǒng)能及時(shí)為他們提 供服務(wù),使出租求租雙方都能夠方便快捷的得到信息。通過本系統(tǒng)來管理房屋 出租情況,可以解決大量房屋信息的查詢和管理,便于房屋出租者更好的發(fā)布 其房屋信息,同時(shí)也為租房者提供方便。并且能夠培養(yǎng)我們的綜合分析設(shè)計(jì)能

19、力,同時(shí)提高動(dòng)手實(shí)踐的能力。 1.2 系統(tǒng)開發(fā)環(huán)境及開發(fā)平臺(tái)介紹 1.2.1 系統(tǒng)開發(fā)環(huán)境 1.硬件環(huán)境 (1) CPU:Duo T5600 1.83GHz; (2) 內(nèi)存:512MB 以上; (3) 硬盤:100G.。 2.軟件環(huán)境 (1) 操作系統(tǒng):Windows XP; (2) 數(shù)據(jù)庫:SQL Server 2000; (3) 開發(fā)工具包:JDK1.5.0; (4) JSP 服務(wù)器:Tomcat6.0; (5) 瀏覽器:IE 7.0。 1.2.2 系統(tǒng)開發(fā)平臺(tái)簡介 1.系統(tǒng)開發(fā)平臺(tái) 本系統(tǒng)開發(fā)語言選用 Java,JSP,所以采用 MyEclipse,Tomcat 為主要開發(fā) 工具,然后結(jié)

20、合 Dreamweaver,SQL Server 2000 數(shù)據(jù)庫管理系統(tǒng)與 Windows XP 操作系統(tǒng)進(jìn)行。既考慮了系統(tǒng)的需求,又兼顧了運(yùn)行的效率,以及今后系統(tǒng) 的功能拓展等。 2.Tomcat 簡介 如今,基于 Web 的應(yīng)用越來越多,傳統(tǒng)的 Html 已經(jīng)滿足不了如今的需求。 我們需要一個(gè)交互式的 Web,于是便誕生了各種 Web 語言。如 Asp,Jsp,Php 等。當(dāng)然,這些語言與傳統(tǒng)的語言有著密切的聯(lián)系,如 Php 基于 C 和 C+語言, Jsp 基于 Java 語言。Tomcat 即是一個(gè) Jsp 和 Servlet 的運(yùn)行平臺(tái)。 Tomcat 是一個(gè)免費(fèi)的開源的 Serl

21、vet 容器,它是 Apache 基金會(huì)的 Jakarta 項(xiàng) 目中的一個(gè)核心項(xiàng)目,由 Apache,Sun 和其它一些公司及個(gè)人共同開發(fā)而成。 由于有了 Sun 的參與和支持,最新的 Servlet 和 Jsp 規(guī)范總能在 Tomcat 中得到 體現(xiàn)。Tomcat 被 JavaWorld 雜志的編輯選為 2001 年度最具創(chuàng)新的 java 產(chǎn)品, 可見其在業(yè)界的地位。 在 Tomcat 中,應(yīng)用程序的部署很簡單,你只需將你的 WAR 放到 Tomcat 的 webapp 目錄下,Tomcat 會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器 中訪問這個(gè)應(yīng)用的 Jsp 時(shí),通常第一次會(huì)很慢,因?yàn)?

22、Tomcat 要將 Jsp 轉(zhuǎn)化為 Servlet 文件,然后編譯。編譯以后,訪問將會(huì)很快。另外 Tomcat 也提供了一 個(gè)應(yīng)用:manager,訪問這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲(chǔ)在一個(gè) xml 文件中。通過這個(gè)應(yīng)用,輔助于 Ftp,你可以在遠(yuǎn)程通過 Web 部署和撤銷 應(yīng)用。當(dāng)然本地也可以。 Tomcat 有三種工作模式,分別是獨(dú)立的 Servlet 容器、進(jìn)程內(nèi)的 Servlet 容 器和進(jìn)程外的 Servlet 容器。在利用其進(jìn)行開發(fā)之前必須要清楚 Tomcat 的目錄 結(jié)構(gòu)。因?yàn)樗哪夸浗Y(jié)構(gòu)和 Web 系統(tǒng)的創(chuàng)建和發(fā)布都有著很大的關(guān)系,通常, Tomcat 的目錄結(jié)構(gòu)如下

23、表: 表 1-1 Tomcat 的目錄結(jié)構(gòu) 目錄描述 /bin存放啟動(dòng)和關(guān)閉 Tomcat 的各種腳本文件 /conf存放 Tomcat 服務(wù)器的各種配置文件 /server/lib包含了 3 個(gè)子目錄:即 classes、lib、webapps; /server/webapps存放 Tomcat 服務(wù)器所需要的各種 JAR 文件 /common/lib存放 Tomcat 自帶的兩個(gè) Web 應(yīng)用:admin 應(yīng)用和 manager 應(yīng) 用 /Shared/lib存放 Tomcat 服務(wù)器及所有 Web 應(yīng)用都可以訪問的 JAR 文件 l/ogs存在所有 Web 應(yīng)用都可以訪問的 JAR 文件

24、 /webapps當(dāng)發(fā)布 Web 應(yīng)用時(shí),默認(rèn)情況下把 Web 應(yīng)用放在此目錄下 /workTomcat 把 JSP 生成的 Servlet 放在此目錄下 Tomcat 不僅僅是一個(gè) Servlet 容器,它也具有傳統(tǒng)的 Web 服務(wù)器的功能: 處理 Html 頁面。但是與 Apache 相比,它的處理靜態(tài) Html 的能力就不如 Apache.我們可以將 Tomcat 和 Apache 集成到一塊,讓 Apache 處理靜態(tài) Html, 而 Tomcat 處理 Jsp 和 Servlet.這種集成只需要修改一下 Apache 和 Tomcat 的配 置文件即可。 基于 Tomcat 的開發(fā)其

25、實(shí)主要是 Jsp 和 Servlet 的開發(fā),開發(fā) Jsp 和 Servlet 非常簡單,你可以用普通的文本編輯器或者 IDE,然后將其打包成 WAR 即可。 我們這里要提到另外一個(gè)工具 Ant,Ant 也是 Jakarta 中的一個(gè)子項(xiàng)目,它所實(shí) 現(xiàn)的功能類似于 Unix 中的 make.你需要寫一個(gè) build.xml 文件,然后運(yùn)行 Ant 就 可以完成 xml 文件中定義的工作,這個(gè)工具對(duì)于一個(gè)大的應(yīng)用來說非常好,我 們只需在 xml 中寫很少的東西就可以將其編譯并打包成 WAR.事實(shí)上,在很多 應(yīng)用服務(wù)器的發(fā)布中都包含了 Ant.另外,在 Jsp1.2 中,可以利用標(biāo)簽庫實(shí)現(xiàn) Jav

26、a 代碼與 Html 文件的分離,使 Jsp 的維護(hù)更方便。Tomcat 確實(shí)是一個(gè)很好 的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_放性。如今,開源軟件越 來越收到人們的重視,Linux 就是一個(gè)成功的典型。 3.MyEclipse 簡介 MyEclipse 企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡稱 MyEclipse)是對(duì) Eclipse IDE 的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和 J2EE 的開發(fā)、 發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的 J2EE 集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持 H

27、TML, Struts, JSF, CSS, Javascript, SQL, Hibernate。簡單而言,MyEclipse 是 Eclipse 的插件,也是一款功能強(qiáng)大的 J2EE 集成開發(fā)環(huán)境,支持代碼編寫、配 置、測(cè)試以及除錯(cuò)。 Genuitec 發(fā)布了 MyEclipse Enterprise Workbench 5.0,更智能、更快捷、更 簡單和更便宜的 J2EE 工具的新版本的誕生。它的價(jià)格對(duì)于個(gè)人和企業(yè)開發(fā)人員 來說都是非常有吸引力的。這是 J2EE IDE 市場(chǎng)一個(gè)重量級(jí)的選手。通過增加 UML 雙向建模工具、WYSIWYG 的 JSP/Strutsdesigner、可視化

28、的 Hibernate/ORM 工具、Spring 和 Web services 支持,以及新的 Oracle 數(shù)據(jù)庫開 發(fā),MyEclipse 5.0 繼續(xù)為業(yè)界提供全面的產(chǎn)品。 第 2 章 系統(tǒng)開發(fā)技術(shù)介紹 2.1 系統(tǒng)的 B/S 結(jié)構(gòu) 2.1.1 B/S 結(jié)構(gòu)簡介 B/S 結(jié)構(gòu):(Browser/Server,瀏覽器/服務(wù)器模式):是 WEB 興起后的一 種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB 瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客 戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù) 和使用。 客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser) ,如 Netscape Naviga

29、tor 或 Internet Explorer,服務(wù)器安裝 Oracle、Sybase、Informix 或 SQL Server 等數(shù)據(jù) 庫。B/S 模式體系結(jié)構(gòu)的原理如圖 2-1 所示,瀏覽器通過 Web Server 同數(shù)據(jù)庫 進(jìn)行數(shù)據(jù)交互。 圖 2-1 B/S 模式體系結(jié)構(gòu)原理圖 B/S 最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。 只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易。 B/S 結(jié)構(gòu)的使用越來越多,特別是由需求推動(dòng)了 AJAX 技術(shù)的發(fā)展,它的 程序也能在客戶端電腦上進(jìn)行部分處理,從而大大的減輕了服務(wù)器的負(fù)擔(dān);并 增加了交互性,能進(jìn)行局部

30、實(shí)時(shí)刷新。 Web 服務(wù)器 應(yīng)用服務(wù)器 HTTP 請(qǐng)求 HTML 界面結(jié)果 SQL 請(qǐng)求 數(shù)據(jù)庫 服務(wù)器 Web 瀏覽器 2.1.2 B/S 架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì) 維護(hù)和升級(jí)方式簡單。目前,軟件系統(tǒng)的改進(jìn)和升級(jí)越來越頻繁,B/S 架 構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)單位來說,系統(tǒng)管理 人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知 的,但 B/S 架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器, 根本不需要做任何的維護(hù)。無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增 加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行;如果是異地, 只需要把服

31、務(wù)器連接專網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享。所以客戶機(jī)越來 越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級(jí) 和維護(hù)會(huì)越來越容易,而使用起來會(huì)越來越簡單,這對(duì)用戶人力、物力、時(shí)間、 費(fèi)用的節(jié)省是顯而易見的,驚人的。因此,維護(hù)和升級(jí)革命的方式是“瘦”客戶 機(jī), “胖”服務(wù)器。 成本降低,選擇更多。大家都知道 windows 在桌面電腦上幾乎一統(tǒng)天下, 瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上 windows 并不是處于絕對(duì)的統(tǒng) 治地位。 現(xiàn)在的趨勢(shì)是凡使用 B/S 架構(gòu)的應(yīng)用管理軟件,只需安裝在 Linux 服 務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的

32、,不管選用 那種操作系統(tǒng)都可以讓大部分人使用 windows 作為桌面操作系統(tǒng)電腦不受影響, 這就使的最流行免費(fèi)的 Linux 操作系統(tǒng)快速發(fā)展起來,Linux 除了操作系統(tǒng)是免 費(fèi)的以外,連數(shù)據(jù)庫也是免費(fèi)的,這種選擇非常盛行。 比如說很多人每天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了 解“新浪”的服務(wù)器用的是什么操作系統(tǒng),而事實(shí)上大部分網(wǎng)站確實(shí)沒有使用 windows 操作系統(tǒng),但用戶的電腦本身安裝的大部分是 windows 操作系統(tǒng)。 應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。由于 B/S 架構(gòu)管理軟件只安裝在服務(wù)器端 上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器 端完

33、全通過 WWW 瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端實(shí)現(xiàn),所有的客戶端 只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。但是,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù) 荷較重,一旦發(fā)生服務(wù)器“崩潰”等問題,后果不堪設(shè)想。因此,許多單位都備 有數(shù)據(jù)庫存儲(chǔ)服務(wù)器,以防萬一。 2.1.3 B/S 框架與 C/S 框架的聯(lián)系與區(qū)別 C/S 是 Client/Server 的縮寫。服務(wù)器通常采用高性能的 PC、工作站或小型 機(jī),并采用大型數(shù)據(jù)庫系統(tǒng),如 Oracle、Sybase、 Informix 或 SQL Server???戶端需要安裝專用的客戶端軟件。 B/S 是 Brower/Server 的縮寫,客戶機(jī)上只要安裝一個(gè)瀏

34、覽器(Browser) , 如 Internet Explorer,服務(wù)器安裝 Oracle、Sybase、Informix 或 SQL Server 等數(shù) 據(jù)庫。在這種結(jié)構(gòu)下,用戶界面完全通過 WWW 瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯 在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。瀏覽器通過 Web Server 同數(shù) 據(jù)庫進(jìn)行數(shù)據(jù)交互。 C/S 與 B/S 區(qū)別: (1) 硬件環(huán)境不同 C/S 一般建立在專用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過 專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)。 B/S 建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例如電話上網(wǎng), 租用設(shè)備,信息自己管理。有比 C/S

35、更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和 瀏覽器就行。 (2) 對(duì)安全要求不同 C/S 一般面向相對(duì)固定的用戶群,對(duì)信息安全的控制能力很強(qiáng)。一般高度 機(jī)密的信息系統(tǒng)采用 C/S 結(jié)構(gòu)適宜??梢酝ㄟ^ B/S 發(fā)布部分可公開信息。 B/S 建立在廣域網(wǎng)之上,對(duì)安全的控制能力相對(duì)弱,可能面向不可知的用 戶。 (3) 對(duì)程序架構(gòu)不同 C/S 程序可以更加注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可 以較少考慮。 B/S 對(duì)安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上。 比 C/S 有更高的要求 B/S 結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢(shì),從 MS 的.Net 系列的 BizTalk 2000 E

36、xchange 2000 等,全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng). SUN 和 IBM 推的 JavaBean 構(gòu)件技術(shù)等,使 B/S 更加成熟。 (4) 軟件重用不同 C/S 程序可以不可避免的整體性考慮,構(gòu)件的重用性不如在 B/S 要求下的 構(gòu)件的重用性好。 B/S 面對(duì)的多重結(jié)構(gòu),要求構(gòu)件相對(duì)獨(dú)立的功能,能夠相對(duì)較好的重用, 就如買來的餐桌可以再利用,而不是做在墻上的石頭桌子。 (5) 系統(tǒng)維護(hù)不同 C/S 程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級(jí)。升 級(jí)難,可能要再做一個(gè)全新的系統(tǒng)。 B/S 構(gòu)件組成,方面構(gòu)件個(gè)別的更換,實(shí)現(xiàn)系統(tǒng)的無縫升級(jí)。系統(tǒng)維護(hù)開 銷減到最小,用戶從網(wǎng)上

37、自己下載安裝就可以實(shí)現(xiàn)升級(jí)。 (6) 處理問題不同 C/S 程序可以處理用戶面固定,并且在相同區(qū)域,安全要求高需求,與操 作系統(tǒng)相關(guān),應(yīng)該都是相同的系統(tǒng)。 B/S 建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是 C/S 無法作到 的. 與操作系統(tǒng)平臺(tái)關(guān)系最小。 (7) 用戶接口不同 C/S 多是建立的 Window 平臺(tái)上,表現(xiàn)方法有限,對(duì)程序員普遍要求較高。 B/S 建立在瀏覽器上,有更加豐富和生動(dòng)的表現(xiàn)方式與用戶交流。并且大 部分難度減低,減低開發(fā)成本。 (8) 信息流不同 C/S 程序一般是典型的中央集權(quán)的機(jī)械式處理,交互性相對(duì)低。 B/S 信息流向可變化, B-B B-C B-G 等

38、信息、流向的變化,更像交易中心。 2.2 JSP 技術(shù)概述 2.2.1 JSP 簡介 JSP(Java Server Pages)是由 Sun Microsystems 公司倡導(dǎo)、許多公司參與一起 建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP 技術(shù)有點(diǎn)類似 ASP 技術(shù),它是在傳統(tǒng)的網(wǎng) 頁 HTML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 標(biāo)記(tag),從而 形成 JSP 文件(*.jsp)。 用 JSP 開發(fā)的 Web 應(yīng)用是跨平臺(tái)的,即能在 Linux 下運(yùn)行,也能在其他操 作系統(tǒng)上運(yùn)行。 JSP 技術(shù)使用 Java 編程語言編寫類 XML 的 t

39、ags 和 scriptlets,來封裝產(chǎn)生 動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過 tags 和 scriptlets 訪問存在于服務(wù)端的資源 的應(yīng)用邏輯。JSP 將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件 的設(shè)計(jì),使基于 Web 的應(yīng)用程序的開發(fā)變得迅速和容易。 Web 服務(wù)器在遇到訪問 JSP 網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后 將執(zhí)行結(jié)果連同 JSP 文件中的 HTML 代碼一起返回給客戶。插入的 Java 程序段 可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。 JSP 與 Java Servlet 一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是 一個(gè) H

40、TML 文本,因此客戶端只要有瀏覽器就能瀏覽。 JSP 頁面由 HTML 代碼和嵌入其中的 Java 代碼所組成。服務(wù)器在頁面被客 戶端請(qǐng)求以后對(duì)這些 Java 代碼進(jìn)行處理,然后將生成的 HTML 頁面返回給客戶 端的瀏覽器。Java Servlet 是 JSP 的技術(shù)基礎(chǔ),而且大型的 Web 應(yīng)用程序的開 發(fā)需要 Java Servlet 和 JSP 配合才能完成。JSP 具備了 Java 技術(shù)的簡單易用,完 全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 2.2.2 JSP 技術(shù)的強(qiáng)勢(shì)與弱勢(shì)分析 1.JSP 技術(shù)的強(qiáng)勢(shì) (1)一次編寫,到處運(yùn)行。在這一點(diǎn)上 Java

41、比PHP更出色,除了系統(tǒng)之 外,代碼不用做任何更改。 (2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在 任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比 ASP/PHP 的局限性是顯而 易見的。 (3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行 Servlet/JSP, 到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái) Application 進(jìn)行事務(wù)處理,消息 處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,Java 顯示了一個(gè)巨大的生命力。 (4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與 ASP 很像,Java 已經(jīng) 有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可 以

42、順利的運(yùn)行于多種平臺(tái)之下。 2.JSP 技術(shù)的弱勢(shì) (1) 與 ASP 一樣,Java 的一些優(yōu)勢(shì)正是它致命的問題所在。正是由于為了 跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。 (2) Java 的運(yùn)行速度是用 class 常駐內(nèi)存來完成的,所以它在一些情況下所 使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還 需要硬盤空間來儲(chǔ)存一系列的.java 文件和.class 文件,以及對(duì)應(yīng)的版本文件。 2.2.3 JSP 動(dòng)態(tài)網(wǎng)站開發(fā)技術(shù) 太陽微系統(tǒng)公司(Sun Microsystems Inc.)在 Web 服務(wù)器、應(yīng)用服務(wù)器、交易 系統(tǒng)以及開發(fā)工具供應(yīng)

43、商間廣泛支持與合作下,整合并平衡了已經(jīng)存在的對(duì) Java 編程環(huán)境(例如 Java Servlets 和 JavaBeans)進(jìn)行支持的技術(shù)和工具后產(chǎn)生 了一種新的、開發(fā)基于 Web 應(yīng)用程序的方法Java Server Pages 技術(shù)(JSP) 。 這種動(dòng)態(tài)網(wǎng)站開發(fā)技術(shù)的特點(diǎn)是:能夠在任何 Web 或應(yīng)用程序服務(wù)器上運(yùn)行; 分離了應(yīng)用程序的邏輯和頁面顯示; 能夠進(jìn)行快速的開發(fā)和測(cè)試; 簡化了開 發(fā)基于 Web 的交互式應(yīng)用程序的過程。 為了快速方便地進(jìn)行動(dòng)態(tài)網(wǎng)站的開發(fā),JSP 在以下幾個(gè)方面做了改進(jìn),使 其成為快速建立跨平臺(tái)的動(dòng)態(tài)網(wǎng)站的首選方案。 (1) 將內(nèi)容的生成和顯示進(jìn)行分離 用 J

44、SP 技術(shù),Web 頁面開發(fā)人員可以使用 HTML 或者 XML 標(biāo)識(shí)來設(shè)計(jì)和 格式化最終頁面,并使用 JSP 標(biāo)識(shí)或者小腳本來生成頁面上的動(dòng)態(tài)內(nèi)容(內(nèi)容 是根據(jù)請(qǐng)求變化的,例如請(qǐng)求賬戶信息或者特定的一瓶酒的價(jià)格等) 。生成內(nèi)容 的邏輯被封裝在標(biāo)識(shí)和 JavaBeans 組件中,并且捆綁在腳本中,所有的腳本在 服務(wù)器端運(yùn)行。由于核心邏輯被封裝在標(biāo)識(shí)和 JavaBeans 中,所以 Web 管理人 員和頁面設(shè)計(jì)者,能夠編輯和使用 JSP 頁面,而不影響內(nèi)容的生成。 在服務(wù)器端,JSP 引擎解釋 JSP 標(biāo)識(shí)和腳本,生成所請(qǐng)求的內(nèi)容(例如, 通過訪問 JavaBeans 組件,使用 JDBC 技術(shù)

45、訪問數(shù)據(jù)庫或者包含文件) ,并且將 結(jié)果以 HTML(或者 XML)頁面的形式發(fā)送回瀏覽器。這既有助于作者保護(hù)自 己的代碼,又能保證任何基于 HTML 的 Web 瀏覽器的完全可用性。 (2) 可重用組件 絕大多數(shù) JSP 頁面依賴于可重用的、跨平臺(tái)的組件(JavaBeans 或者 Enterprise JavaBeans 組件)來執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。開發(fā)人員能 夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶 團(tuán)體所使用。基于組件的方法加速了總體開發(fā)過程,并且使得各種組織在他們 現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。 (3) 采用標(biāo)識(shí) Web 頁面開發(fā)人員

46、不會(huì)都是熟悉腳本語言的編程人員。JSP 技術(shù)封裝了許 多功能,這些功能是在易用的、與 JSP 相關(guān)的 XML 標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成 所需要的。標(biāo)準(zhǔn)的 JSP 標(biāo)識(shí)能夠訪問和實(shí)例化 JavaBeans 組件,設(shè)置或者檢索 組件屬性,下載 Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。 (4) 適應(yīng)平臺(tái) 幾乎所有平臺(tái)都支持 Java,JSPJavaBeans 幾乎可以在所有平臺(tái)下通行無 阻。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP 和 JavaBeans 甚至不用重新編譯,因 為 Java 字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無關(guān)的。 (5) 數(shù)據(jù)庫連接 Java 中連接數(shù)據(jù)庫的技術(shù)是 JDBC,Jav

47、a 程序通過 JDBC 驅(qū)動(dòng)程序與數(shù)據(jù) 庫相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun 公司還開發(fā)了 JDBCODBC bridge,利用此技術(shù) Java 程序可以訪問帶有 ODBC 驅(qū)動(dòng)程序的數(shù)據(jù)庫,目前大 多數(shù)數(shù)據(jù)庫系統(tǒng)都帶有 ODBC 驅(qū)動(dòng)程序,所以 Java 程序能訪問諸如 Oracle、Sybase、MS SQL Server 和 MS Access 等數(shù)據(jù)庫。 此外,通過開發(fā)標(biāo)識(shí)庫,JSP 技術(shù)可以進(jìn)一步擴(kuò)展。第三方開發(fā)人員和其 他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫。這使得 Web 頁面開發(fā)人員能夠使用 熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來進(jìn)行工作。 JSP 技術(shù)很容易整合到多

48、種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧, 并且能擴(kuò)展到支持企業(yè)級(jí)的分布式應(yīng)用中。作為采用 Java 技術(shù)家族的一部分, 以及 Java 2(企業(yè)版體系結(jié)構(gòu))的一個(gè)組成部分,JSP 技術(shù)能夠支持高度復(fù)雜的 基于 Web 的應(yīng)用。 由于 JSP 頁面的內(nèi)置腳本語言是基于 Java 的,而且所有的 JSP 頁面都被編 譯成為 Java Servlets,所以 JSP 頁面具有 Java 技術(shù)的所有好處,包括健壯的存 儲(chǔ)管理和安全性。作為 Java 平臺(tái)的一部分,JSP 擁有 Java 編程語言“一次編寫, 各處運(yùn)行”的特點(diǎn)。 利用 JSP 技術(shù),動(dòng)態(tài)信息由 JSP 頁面來表現(xiàn),JSP 頁面由安裝在

49、 Web 服務(wù) 器或者使用 JSP 的應(yīng)用服務(wù)器上的 JSP 引擎執(zhí)行。JSP 引擎接受客戶端對(duì) JSP 頁面的請(qǐng)求,并且生成 JSP 頁面作為對(duì)客戶端的響應(yīng)。 JSP 頁面通常被編譯成為 Java Servlets,這是一個(gè)標(biāo)準(zhǔn)的 Java 擴(kuò)展。頁面 開發(fā)人員能夠訪問全部的 Java 應(yīng)用環(huán)境,以利用 Java 技術(shù)的擴(kuò)展性和可移植性。 當(dāng) JSP 頁面第一次被調(diào)用時(shí),如果它還不存在,就會(huì)被編譯成為一個(gè) Java Servlets 類,并且存儲(chǔ)在服務(wù)器的內(nèi)存中。這就使得在接下來的對(duì)該頁面的調(diào)用 中,服務(wù)器會(huì)有非??斓捻憫?yīng)(這避免了 CGIBIN 為每個(gè) HTTP 請(qǐng)求生成一 個(gè)新的進(jìn)程的問

50、題) 。 JSP 頁面可以包含在多種不同的應(yīng)用體系結(jié)構(gòu)或者模型中,可以用于由不 同協(xié)議、組件和格式所組成的聯(lián)合體中?;?JSP 的動(dòng)態(tài)信息發(fā)布技術(shù)是一個(gè) 開放的、可擴(kuò)展的建立動(dòng)態(tài) Web 頁面的標(biāo)準(zhǔn)。不論采用什么創(chuàng)建工具,開發(fā)人 員都可以使用 JSP 頁面來創(chuàng)建可移植的 Web 應(yīng)用,在不同的 Web 應(yīng)用服務(wù)器 上運(yùn)行。 2.3 MVC 及 Struts 介紹 2.3.1 MVC 介紹 MVC 模式是Model-View-Controller的縮寫,中文翻譯為模式-視圖-控制 器。即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照 Model、View、Controller 的 方式進(jìn)行分離,這樣一個(gè)

51、應(yīng)用被分成三個(gè)層模型層、視圖層、控制層。 視圖(View)代表用戶交互界面,對(duì)于 Web 應(yīng)用來說,可以概括為 HTML 界面,但有可能為 XHTML、XML 和 Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界 面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC 設(shè)計(jì)模式 對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,而不包括 在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個(gè) 訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù) 和請(qǐng)求傳遞給控制和模型。 模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程

52、的處理過程對(duì)其它層來說是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終 的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是 MVC 最主要的核心。目前流行的 EJB 模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的 劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅 告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。 對(duì)一個(gè)開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計(jì)。MVC 設(shè)計(jì)模式告訴我們, 把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人 員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC 并沒有 提供模型的設(shè)計(jì)方法,而只

53、告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu) 和提高重用性。我們可以用對(duì)象編程來做比喻,MVC 定義了一個(gè)頂級(jí)類,告訴 它的子類你只能做這些,但沒法限制你能做這些。這點(diǎn)對(duì)編程的開發(fā)人員非常 重要。 業(yè)務(wù)模型還有一個(gè)很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對(duì) 象的數(shù)據(jù) 保存(持續(xù)化) 。比如將一張訂單保存到數(shù)據(jù)庫,從數(shù)據(jù)庫獲取訂單。 我們可以將這個(gè)模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫的操作只限制在該模型中。 控制(Controller)可以理解為從用戶接收請(qǐng)求, 將模型與視圖匹配在一起, 共同完成用戶的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是 一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣

54、的視圖,可以完成什么樣的用戶 請(qǐng)求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)連接,控制層接受 請(qǐng)求后, 并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么, 選擇符合要求的視圖返回給用戶。因此,一個(gè)模型可能對(duì)應(yīng)多個(gè)視圖,一個(gè)視 圖可能對(duì)應(yīng)多個(gè)模型。 模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果 用戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視 圖都應(yīng)反映到這些變化。因此,無論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將 變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。 模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖

55、 2-2 所示。 模型模型 封裝應(yīng)用程序狀態(tài) 響應(yīng)狀態(tài)查詢 應(yīng)用程序功能 通知視圖改變 視圖視圖 解釋模型 模型更新請(qǐng)求 發(fā)送用戶輸入給控制器 允許控制器選擇試圖 控制器控制器 定義應(yīng)用程序行為 用戶動(dòng)作映射成模型更新 選擇響應(yīng)的視圖 視圖選擇 用戶請(qǐng)求 狀態(tài)改變狀態(tài)查詢 通知改變 方法調(diào)用事件 圖 2-2 MVC 組件類型的關(guān)系和功能 2.3.2 Struts 介紹 Struts 是 Apache 基金會(huì) Jakarta 項(xiàng)目組的一個(gè) Open Source 項(xiàng)目,它采用 MVC 模式,能夠很好地幫助 java 開發(fā)者利用 J2EE 開發(fā) Web 應(yīng)用。和其他的 java 架構(gòu)一樣,Stru

56、ts 也是面向?qū)ο笤O(shè)計(jì),將 MVC 模式分離顯示邏輯和業(yè)務(wù) 邏輯的能力發(fā)揮得淋漓盡致。Struts 框架的核心是一個(gè)彈性的控制層,基于如 Java Servlet ,JavaBeans,Resource Bundles 與 XML 等標(biāo)準(zhǔn)技術(shù),以及 Jakarta Commons 的一些類庫。Struts 有一組相互協(xié)作的類(組件) 、Serlvet 以及 jsp tag lib 組成。基于 Struts 構(gòu)架的 Web 應(yīng)用程序基本上符合 JSP Model2 的設(shè)計(jì)標(biāo) 準(zhǔn),可以說是一個(gè)傳統(tǒng) MVC 設(shè)計(jì)模式的一種變化類型。 Struts 這個(gè)名字來源于在建筑和舊式飛機(jī)中使用的支持金屬架。它

57、的目的是 為了減少在運(yùn)用 MVC 設(shè)計(jì)模型來開發(fā) Web 應(yīng)用的時(shí)間。Struts 跟 Tomcat、Turbine 等諸多 Apache 項(xiàng)目一樣,是開源軟件,這是它的一大優(yōu)點(diǎn), 使開發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。除此之外,Struts 的優(yōu)點(diǎn)主要集中體 現(xiàn)在兩個(gè)方面:Taglib 和頁面導(dǎo)航。Taglib 是 Struts 的標(biāo)記庫,靈活動(dòng)用,能大 大提高開發(fā)效率。另外,就目前國內(nèi)的 JSP 開發(fā)者而言,除了使用 JSP 自帶的 常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許 Struts 是一個(gè)很好的起點(diǎn)。 第 3 章 系統(tǒng)分析 3.1 任務(wù)描述 為了實(shí)現(xiàn)網(wǎng)絡(luò)化、科學(xué)化、現(xiàn)代化的房屋出租管理,

58、使用 JSP、Servlet 和 JavaBean 及數(shù)據(jù)庫技術(shù)相結(jié)合,編寫一個(gè) B/S 結(jié)構(gòu)的房屋出租管理系統(tǒng)。系統(tǒng) 的總體設(shè)計(jì)應(yīng)該是提供給上網(wǎng)瀏覽者一個(gè)高效率,能進(jìn)行豐富的網(wǎng)上活動(dòng)的網(wǎng) 站,為網(wǎng)站用戶提供及時(shí)發(fā)布、查詢房屋租賃信息的平臺(tái)。 系統(tǒng)目標(biāo)如下: 1應(yīng)用網(wǎng)絡(luò)的優(yōu)勢(shì),開發(fā)房屋出租信息網(wǎng)站,方便房屋出租者與房屋求租 者交流,可以使雙方都能了解彼此需求之后再進(jìn)行交易,從而達(dá)到房屋信息被 準(zhǔn)確利用的目的。 2網(wǎng)站用戶能夠在網(wǎng)站首頁及時(shí)瀏覽房屋信息,并可以隨時(shí)注冊(cè)賬號(hào),登 錄網(wǎng)站發(fā)布個(gè)人房屋信息。 3網(wǎng)站有新聞公告模塊,除了房屋信息,用戶可以瀏覽、閱讀本站公告和 時(shí)事新聞。 4管理員控制網(wǎng)站

59、中對(duì)所有用戶的各項(xiàng)信息管理,可以隨時(shí)查看用戶的個(gè) 人信息及房屋信息,監(jiān)督并防止用戶錄入非法信息。 5如果網(wǎng)站用戶對(duì)本網(wǎng)站有意見和建議,可以隨時(shí)給網(wǎng)站管理員發(fā)送 E- mail 進(jìn)行聯(lián)系。 3.2 用 UML 用例圖描述系統(tǒng)需求 3.2.1 用例圖簡介 用例圖用來描述系統(tǒng)與參與者之間的相互作用,也可以說它是從用戶角度 出發(fā)對(duì)如何使用系統(tǒng)的描述。首先要理清下面幾個(gè)概念: 角色:角色代表了某一事件發(fā)生的參與者,他用一個(gè)小人表示。在通常的 網(wǎng)絡(luò)項(xiàng)目中,角色常被用來代表使用網(wǎng)站的用戶(管理員、用戶等) ,但角色的 作用并不局限于此,它也可以用來代表與系統(tǒng)交互的其他實(shí)體。 用例:用例代表系統(tǒng)可以實(shí)現(xiàn)的功能

60、,通常一個(gè)用例代表一組功能,它實(shí) 質(zhì)上規(guī)定了系統(tǒng)實(shí)現(xiàn)功能的范圍。在實(shí)際項(xiàng)目開發(fā)過程中,一個(gè)項(xiàng)目中往往涉 及很多個(gè)用例,此時(shí)需要將其分解成若干個(gè)子系統(tǒng)實(shí)現(xiàn),以便于理解。在 UML 中,用例用一個(gè)橢圓表示。 用例圖:當(dāng)角色與用例發(fā)生某種關(guān)系時(shí),就可以用一個(gè)圖將它們關(guān)聯(lián)起來, 這就是用例圖,角色與用例之間使用一個(gè)帶箭頭的實(shí)線連接,箭頭方向代表使 用者與被使用者關(guān)系。 3.2.2 系統(tǒng)用例分析 房屋出租管理系統(tǒng)網(wǎng)站允許用戶有兩種身份:普通用戶和管理員,每種身 份操作起來都很方便、快捷。任何普通用戶可以瀏覽、查看房屋租賃信息,但 是如果想要發(fā)布個(gè)人的房屋租賃信息,這必須是經(jīng)過注冊(cè)、登錄以后的用戶。 這些

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論