第1章Struts2前奏.ppt_第1頁(yè)
第1章Struts2前奏.ppt_第2頁(yè)
第1章Struts2前奏.ppt_第3頁(yè)
第1章Struts2前奏.ppt_第4頁(yè)
第1章Struts2前奏.ppt_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章 Struts 2前奏,本章以一個(gè)登錄案例為例,分別介紹如何使用傳統(tǒng)的Model 1模式架構(gòu)來(lái)完成開(kāi)發(fā),以及如何使用MVC設(shè)計(jì)模式來(lái)改寫(xiě)登錄案例。還將介紹MVC設(shè)計(jì)模式的優(yōu)點(diǎn)以及常用的MVC框架。介紹如何下載和安裝Struts 1框架,并完成基于Struts 1框架的登錄案例。同樣還將介紹在Eclipse如何新建Web項(xiàng)目、整合Tomcat服務(wù)器以及通過(guò)Eclipse的插件來(lái)為Web應(yīng)用添加Struts 1框架支持。并詳細(xì)介紹在Eclipse如何添加ActionForm、Action以及部署項(xiàng)目。,1.1 MVC思想概述,1.1.1 簡(jiǎn)單的登錄案例 1.1.2 測(cè)試案例 1.1.3 Mo

2、del 1和Model 2 1.1.4 使用MVC設(shè)計(jì)模式改進(jìn)代碼 1.1.5 測(cè)試MVC改進(jìn)代碼,1.1.1 簡(jiǎn)單的登錄案例,在學(xué)習(xí)框架之前必須很好地掌握J(rèn)ava Web的基礎(chǔ)知識(shí)如JSP、Servlet、JDBC,這樣學(xué)習(xí)框架才不會(huì)吃力,才會(huì)覺(jué)得順手。 下面來(lái)使用JSP編寫(xiě)一個(gè)簡(jiǎn)單的登錄項(xiàng)目,判斷用戶(hù)是否合法,如果合法的話(huà)就顯示登錄成功,否則就顯示登錄失敗。暫時(shí)不需要使用到數(shù)據(jù)庫(kù),使用固定的用戶(hù)名和密碼。 步驟如下。 (1)首先新建Web項(xiàng)目,其實(shí)就是一個(gè)普通的文件夾,不過(guò)在這個(gè)文件夾中包含一個(gè)名為“WEB-INF”的文件夾,并且在它之下有一個(gè)web.xml的文件。 (2)分析該項(xiàng)目。 (

3、3)登錄判斷頁(yè)首先接受用戶(hù)登錄頁(yè)傳遞的用戶(hù)信息,并對(duì)用戶(hù)信息進(jìn)行判斷。 (4)登錄成功頁(yè)和登錄失敗頁(yè)代碼只是簡(jiǎn)單地顯示信息用來(lái)提示是否登錄成功。 (5)部署該項(xiàng)目。打開(kāi)Tomcat安裝目錄下的conf文件夾,打開(kāi)其中的server.xml文件。在文件的最下面,在“”標(biāo)簽之前添加如下代碼。 ,1.1.2 測(cè)試案例,下面一起運(yùn)行這個(gè)程序,看是否實(shí)現(xiàn)了項(xiàng)目的要求。 步驟如下。,1.1.3 Model 1和Model 2,首先來(lái)看什么是Model 1模式。以前面編寫(xiě)的那個(gè)登錄項(xiàng)目為例,那就是典型的機(jī)遇Model 1模式開(kāi)發(fā)的,整個(gè)Web項(xiàng)目都是由JSP頁(yè)面構(gòu)成。其中登錄判斷頁(yè)login_conf.js

4、p既要接受客戶(hù)端的請(qǐng)求,還必須對(duì)其用戶(hù)信息判斷進(jìn)行跳轉(zhuǎn)。JSP頁(yè)面既要負(fù)責(zé)顯示還要負(fù)責(zé)控制,將控制邏輯和表現(xiàn)邏輯混在一起了。 使用Model 1模式開(kāi)發(fā)代碼重用性非常低,對(duì)于功能相似的代碼只能選擇復(fù)制的方式,而不是直接調(diào)用。這樣使得整個(gè)JSP頁(yè)面充斥著功能類(lèi)似的代碼。 使用Model 1模式開(kāi)發(fā)程序擴(kuò)展性也非常差,如果以后想要給程序擴(kuò)展功能那是非常困難的。假如在一個(gè)JSP頁(yè)面添加了某一功能,那么可能其他的很多頁(yè)面都需要變動(dòng),甚至于整個(gè)Web應(yīng)用都要修改。這種牽一發(fā)而動(dòng)全身的應(yīng)用,會(huì)使得后期工作異常的困難和繁瑣。 JSP頁(yè)面中大量充斥著Java腳本,這使得后期的維護(hù)非常困難。有時(shí)候一個(gè)地方出現(xiàn)錯(cuò)

5、誤就要到處去找。還有代碼重用性,本人就是經(jīng)常在使用復(fù)制、粘貼,都成了一種習(xí)慣了。 不過(guò)使用Model 1模式來(lái)開(kāi)發(fā)比較簡(jiǎn)單和方便。所以如果是小型的Web站點(diǎn),后期的更新和維護(hù)工作不是很大,就可以采用Model 1模式來(lái)開(kāi)發(fā)。,1.1.4 使用MVC設(shè)計(jì)模式改進(jìn)代碼,如果要使用MVC設(shè)計(jì)模式,那么控制器要使用Servlet。具體的邏輯判斷則交給業(yè)務(wù)邏輯組件來(lái)判斷,而將業(yè)務(wù)邏輯組件判斷的結(jié)果返回交給Servlet來(lái)判斷并實(shí)現(xiàn)跳轉(zhuǎn)。 編寫(xiě)代碼步驟如下。 (1)新建一個(gè)Web項(xiàng)目,把上個(gè)項(xiàng)目中的login.jsp、login_success.jsp以及l(fā)ogin_failure.jsp復(fù)制到項(xiàng)目中。

6、(2)新建業(yè)務(wù)邏輯組件類(lèi),類(lèi)名為L(zhǎng)oginCheck。包含一個(gè)isLogin方法用來(lái)判斷用戶(hù)是否合法。 (3)新建Servlet,Servlet類(lèi)名為L(zhǎng)oginConf。該Servlet接受用戶(hù)提交的參數(shù),并通過(guò)實(shí)例化一個(gè)業(yè)務(wù)邏輯組件,然后通過(guò)調(diào)用業(yè)務(wù)邏輯組件中的isLogin返回值來(lái)分別對(duì)合法用戶(hù)和非法用戶(hù)執(zhí)行跳轉(zhuǎn)。 (4)分別編譯LoginCheck類(lèi)和LoginConf類(lèi),并將編譯后的class文件放入項(xiàng)目的WEB-INF文件夾下的classes文件夾中。 (5)配置Servlet,修改web.xml文件。 (6)修改login.jsp,修改頁(yè)面提交頁(yè),使頁(yè)面跳轉(zhuǎn)到LoginConf。

7、(7)部署該項(xiàng)目。打開(kāi)Tomcat安裝目錄下的conf文件夾,打開(kāi)其中的server.xml文件。,1.1.5 測(cè)試MVC改進(jìn)代碼,下面運(yùn)行這個(gè)程序,看是否實(shí)現(xiàn)了項(xiàng)目的要求。,1.2 MVC框架介紹,MVC框架是一些組織或企業(yè)基于MVC設(shè)計(jì)模式而開(kāi)發(fā)出來(lái)的。目前比較流行的MVC框架有Struts 1、Struts 2及WebWork。這些框架除了很好地實(shí)現(xiàn)了MVC,還提供了大量的類(lèi)庫(kù)供開(kāi)發(fā)使用。,1.2.1 常用的MVC框架,下面來(lái)看為什么要使用MVC框架。就以前面編寫(xiě)那個(gè)小項(xiàng)目為例。通過(guò)創(chuàng)建一個(gè)Servlet來(lái)接受用戶(hù)的參數(shù),并調(diào)用業(yè)務(wù)邏輯組件來(lái)進(jìn)行的判斷。這樣的MVC設(shè)計(jì)肯定是可以的,但是

8、隨著軟件行業(yè)的發(fā)展,許多組織以及企業(yè)發(fā)開(kāi)出了基于MVC設(shè)計(jì)模式的MVC框架。開(kāi)發(fā)人員不必自己來(lái)實(shí)現(xiàn)MVC設(shè)計(jì)模式,而是只需基于這類(lèi)MVC框架之上來(lái)進(jìn)行開(kāi)發(fā)。這些框架提供的功能可以減少開(kāi)發(fā)人員的開(kāi)發(fā)難度,增加開(kāi)發(fā)效率,更重要的是提供了一種MVC設(shè)計(jì)的標(biāo)準(zhǔn)。以前大家肯定也學(xué)過(guò)MFC,MFC就是微軟的核心類(lèi)庫(kù),在開(kāi)發(fā)程序時(shí),用戶(hù)可以完全基于MFC這個(gè)類(lèi)庫(kù)來(lái)進(jìn)行開(kāi)發(fā),而不是完全自己去編寫(xiě)每一個(gè)類(lèi)。MVC框架已經(jīng)實(shí)現(xiàn)好了MVC設(shè)計(jì)模式,只用在其上來(lái)開(kāi)發(fā)就行了。 目前常用的MVC框架非常之多,其中廣泛應(yīng)用的有Struts、WebWork,還有最新的Struts21-5等。下面來(lái)介紹一下Struts 1框架

9、。,1.2.2 Struts 1框架簡(jiǎn)介,Struts 1于2001年6月發(fā)布,是第一個(gè)發(fā)布的MVC框架。從發(fā)布至今一直深受廣大的開(kāi)發(fā)人員擁護(hù)。其所擁有的開(kāi)發(fā)人群也是其他MVC無(wú)法比擬的。 Struts 1通過(guò)核心控制器ActionServlet接受用戶(hù)的所有的請(qǐng)求,并將請(qǐng)求轉(zhuǎn)發(fā)給業(yè)務(wù)邏輯控制器。由業(yè)務(wù)邏輯控制器處理用戶(hù)請(qǐng)求,用戶(hù)請(qǐng)求處理完成后,業(yè)務(wù)邏輯控制器會(huì)根據(jù)業(yè)務(wù)邏輯將處理結(jié)果通過(guò)JSP的方式返回給用戶(hù)。 控制器是Struts 1的核心部分,包括核心控制器ActionServlet和業(yè)務(wù)邏輯控制器。其中ActionServlet由Struts 1框架提供,而業(yè)務(wù)邏輯控制器由開(kāi)發(fā)人員根據(jù)特

10、性的業(yè)務(wù)邏輯提供。下面是一個(gè)簡(jiǎn)單的基于Struts 1開(kāi)發(fā)的登錄案例流程圖,如圖1-9所示。,1.2.3 下載并安裝Struts 1框架,Struts框架是由Apache開(kāi)源組織開(kāi)發(fā)并負(fù)責(zé)維護(hù)的,所以可以直接打開(kāi)Struts的官方站點(diǎn),這里只需要下載Struts框架,所以可以直接打開(kāi)Apache的官方下載站點(diǎn)“/dist”,如圖1-10所示。 在這個(gè)頁(yè)面里列出了所有的Apache負(fù)責(zé)的項(xiàng)目。這里選擇Struts項(xiàng)目,所以單擊其中的“struts”鏈接,頁(yè)面跳轉(zhuǎn)到Struts框架下載頁(yè),如圖1-11所示。,1.2.4 基于Struts 1框架實(shí)現(xiàn)登錄

11、案例,其實(shí)使用Struts 1框架實(shí)現(xiàn)登錄案例非常簡(jiǎn)單,和當(dāng)時(shí)使用MVC設(shè)計(jì)模式改進(jìn)后的代碼稍微修改,并增加一些Struts 1特有的配置和特性。下面按步驟來(lái)演示如何通過(guò)Struts 1框架來(lái)實(shí)現(xiàn)這個(gè)登錄案例。 步驟如下。,1.3 在Eclipse中開(kāi)發(fā)Struts 1,Eclipse提供了開(kāi)發(fā)Struts 1應(yīng)用的插件,通過(guò)Eclipse的插件功能,能夠非常容易地給項(xiàng)目添加Struts 1支持。Eclipse還為Struts 1的開(kāi)發(fā)提供了非常好的可視化編輯編輯環(huán)境,使得開(kāi)發(fā)者能夠更加容易和簡(jiǎn)單地開(kāi)發(fā)Struts 1應(yīng)用。,1.3.1 新建Web項(xiàng)目,下面介紹如何在Eclipse中開(kāi)發(fā)Str

12、uts 1應(yīng)用吧。首先看如何在Eclipse下新建一個(gè)Web項(xiàng)目。 步驟如下。,1.3.2 整合Tomcat服務(wù)器,這里所指的Eclipse上是已經(jīng)安裝好了MyEclipse 6.0插件的,所以可以整合大部分的Java EE服務(wù)器,而如果沒(méi)有安裝任何插件,單純的Eclipse是很難與Java EE服務(wù)器進(jìn)行整合的。 整合步驟如下。,1.3.3 為項(xiàng)目添加Struts 1支持,MyEclipse插件提供了許多的框架支持,只需要在項(xiàng)目中增加這些框架的支持就能很方便的使用這些框架來(lái)開(kāi)發(fā)。下面來(lái)介紹如何為項(xiàng)目添加Struts 1支持。 步驟如下。,1.3.4 添加ActionForm,通過(guò)Eclips

13、e來(lái)添加ActionForm還有Action是非常方便的,只需簡(jiǎn)單的幾個(gè)配置。Eclipse幫忙自動(dòng)添加ActionForm還有Action,而且會(huì)自動(dòng)生成許多代碼,方便開(kāi)發(fā)使用。下面介紹如何添加ActionForm。 步驟如下。,1.3.5 添加Action,添加Action和添加ActionForm是類(lèi)似的,都是在配置文件struts-config.xml中進(jìn)行添加。 步驟如下。,1.3.6 部署Struts 1項(xiàng)目,首先將前面手動(dòng)編寫(xiě)的登錄案例中的Action,業(yè)務(wù)邏輯組件LoginCheck,以及l(fā)ogin.jsp和login_success.jsp以及l(fā)ogin_failure.jsp頁(yè)面復(fù)制到這個(gè)項(xiàng)目中。下面來(lái)看在Eclipse中部署如何自動(dòng)部署這個(gè)登錄案例。 步驟如下。,1.4 小結(jié),本章以一個(gè)登錄案例為例,介紹了使用Model 1模式和Model 2模式開(kāi)發(fā)的區(qū)別。介紹了如何使用

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論