付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程結(jié)構(gòu)2內(nèi)容第一章:Struts2入門第二章:Struts2中的Action第三章:Struts2器第四章:表達(dá)式語言O(shè)GNL第五章:Struts2庫第六章:文件上傳和第一章:Struts2 入門目標(biāo):本章旨在向?qū)W員介紹:MVC架構(gòu)模式Struts1、Struts2、Webwork之間的關(guān)系Struts1與Struts2的區(qū)別 4)Struts2的環(huán)境搭建 5)編寫第一個(gè)Struts2的web應(yīng)用教學(xué)方法:授課+練習(xí)3第一章:Struts2 入門本章內(nèi)容1.1 Web開發(fā)框架概述1.2 Struts 2框架概覽1.3 第一個(gè)Struts2應(yīng)用41.1.1 Java Web應(yīng)用51.1.1 J
2、ava Web應(yīng)用典型的J2EE框架分為四個(gè)層次:客戶端層Web服務(wù)器層應(yīng)用服務(wù)器層數(shù)據(jù)服務(wù)器層61.1.2 Java Web技術(shù)介紹開發(fā)一個(gè)Java Web應(yīng)用一般會(huì)使用到一下幾種技術(shù):ServletJSPJavaBean71.1.3 JSP架構(gòu)模式M81.1.3 JSP架構(gòu)模式MM模式的工作流程:客戶將請(qǐng)求提交給JSP。JSP調(diào)用JavaBean組件進(jìn)行數(shù)據(jù)處理。如果數(shù)據(jù)處理需要數(shù)據(jù)庫支持,則使用JDBC操作數(shù)據(jù)庫數(shù)據(jù)。當(dāng)數(shù)據(jù)返回給JSP時(shí),JSP組織響應(yīng)數(shù)據(jù),返回給客戶端。91.1.3 JSP架構(gòu)模式MM模式的優(yōu)點(diǎn)缺點(diǎn):優(yōu)點(diǎn)編碼的簡(jiǎn)單性適用于小型項(xiàng)目缺點(diǎn)頁面與數(shù)據(jù)業(yè)務(wù)邏輯不能完全分離在J
3、SP頁面中嵌入大量的Java代碼不適用于中大型項(xiàng)目101.1.4 JSP架構(gòu)模式M111.1.4 JSP架構(gòu)模式MMVC的工作流程:客戶的請(qǐng)求信息首先提交給Servlet??刂破鬟x擇對(duì)當(dāng)前請(qǐng)求進(jìn)行數(shù)據(jù)處理的M對(duì)象??刂破鲗?duì)象選擇相應(yīng)的view組件作為客戶的響應(yīng)信息返回。JSP使用JavaBean中處理的數(shù)據(jù)進(jìn)行數(shù)據(jù)顯示。JSP把組織好的數(shù)據(jù)以響應(yīng)的方式返回給客戶端瀏覽121.1.4 JSP架構(gòu)模式MMVC架構(gòu)模式的優(yōu)勢(shì)實(shí)現(xiàn)了Java代碼和頁面的分離使技術(shù)優(yōu)勢(shì)的應(yīng)用達(dá)到最大化 提高的開發(fā)效率,提高生產(chǎn)率13第一章:Struts2 入門本章內(nèi)容1.1 Web開發(fā)框架概述1.2 Struts 2框架
4、概覽1.3 第一個(gè)Struts2應(yīng)用141.2.1 編程框架概述編程框架 框架是抽取某類應(yīng)用的共性而設(shè)計(jì)的半成品,用戶可以在其基礎(chǔ)之上搭建自己的為什么要有編程框架??蚣芸梢詭椭幚砗芏嗉?xì)節(jié)的、瑣碎的內(nèi)容;集中精力于業(yè)務(wù)邏輯的實(shí)現(xiàn),提高開發(fā)效率;結(jié)構(gòu)性好、可擴(kuò)展性強(qiáng),可升級(jí)的; 框架是成、穩(wěn)健的;151.2.1 編程框架概述Java EE的基于MVC的WEB編程框架 Struts1.xStruts2基于Action的編程框架;在WebWork基礎(chǔ)上開發(fā),與Struts1不同。Spring MVC也包含有一個(gè)完整的WEB框架。JSF、Tstry、Cocoon、. .161.2.2 Struts2框
5、架Struts2是Struts的新一代產(chǎn)品,是在Struts和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts2框架。其全新的Struts2的體系結(jié)構(gòu)與Struts1的體系結(jié)構(gòu)的差別巨大。Struts2以WebWork為,采用器的機(jī)制來處理用戶的,這樣的設(shè)計(jì)使得業(yè)請(qǐng)求,使用IoC和AOP最先進(jìn)的設(shè)計(jì)務(wù)邏輯控制器能夠與Servlet API解耦合。Struts2 支持基于Annoion的配置。171.2.3 Struts2的優(yōu)勢(shì)Action不需要繼承一個(gè)請(qǐng)求對(duì)應(yīng)一個(gè)Action實(shí)例不依賴與容器自動(dòng)接收表單輸入可以使用JSTL/EL、OGNL,甚至在struts.xml中也可以使用OGNL
6、通過ValueStack,可以直接從action中取值使用OGNL進(jìn)行類型轉(zhuǎn)換通過validate()或Validator框架進(jìn)行表單驗(yàn)證181.2.4 Struts1與Struts2區(qū)別Action 類:Struts1要求Action類繼承一個(gè)抽象基類。Struts1的一個(gè)普遍問題是使用抽象類編程而不是接口。Struts 2 Action類可以實(shí)現(xiàn)一個(gè) Action接口,也可實(shí)現(xiàn)其他接口,使可選和定制的服務(wù)成為可能。 Struts2提供一個(gè)ActionSupport基類去實(shí)現(xiàn)常用的接口。Action接口不是必須的,任何有execute標(biāo)識(shí)的POJO對(duì)象都可以用作Struts2的 Action
7、對(duì)象。線程模式:Struts1 Action是單例模式并且必須是線程安全的,Action資源必須是線程安全的或同步的。 Struts2 Action對(duì)象為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例,因此沒有線程安全問題。(實(shí)際上,servlet容器給每個(gè)請(qǐng)求產(chǎn)生許多可丟棄的對(duì)象,并且不會(huì)導(dǎo)致性能和表達(dá)式語言:回收問題)Struts1 整合了JSTL,因此使用JSTL EL。這種EL有基本對(duì)象圖遍歷,但是對(duì)集合和索引屬性的支持很弱。 Struts2可以使用JSTL,但是也支持一個(gè)更強(qiáng)大和靈活的表達(dá)式語言O(shè)bject Graph Noion Language (OGNL).191.2.4 Struts1與Struts
8、2區(qū)別續(xù)Servlet 依賴:Struts1 Action 依賴于Servlet API ,Struts2的應(yīng)用可以不依賴于Servlet API。 Struts2的這種設(shè)計(jì)屬于無侵入式設(shè)計(jì),而Struts1卻屬于侵入式設(shè)計(jì)??蓽y(cè)性:Struts1與Servlet API嚴(yán)重耦合,難于測(cè)試 ;Struts2與Servlet API解耦合,易于測(cè)試表現(xiàn)層:Struts1支持的表現(xiàn)層技術(shù)單一,只支持JSP;Struts2提供支持多種表現(xiàn)層技術(shù),如:JSP、freeMarker、Velocity等。類型轉(zhuǎn)換:Struts 1 ActionForm 屬性通常都是mons-類型。使用Beanutils進(jìn)
9、行類型轉(zhuǎn)換。每個(gè)類一個(gè)轉(zhuǎn)換器,對(duì)每一個(gè)實(shí)例來說是不可配置的;Struts2 使用OGNL進(jìn)行類型轉(zhuǎn)換。提供基本和常用對(duì)象的轉(zhuǎn)換器。數(shù)據(jù)校驗(yàn):Struts 1支持在ActionForm重寫validate方法中手動(dòng)校驗(yàn),或者通過整合 Commons alidator框架來完成數(shù)據(jù)校驗(yàn)。Struts 2支持通過重寫validate方法進(jìn)行校驗(yàn),也支持整合XWork校驗(yàn)框架進(jìn)行校驗(yàn)。201.2.5 Struts2環(huán)境搭建Struts 2框架由WebWork和Struts1框架發(fā)展而來準(zhǔn)備開發(fā)環(huán)境安裝JDK安裝Tomcat安裝MyEclipse安裝數(shù)據(jù)庫或Oracle21Struts2環(huán)境搭建相關(guān)St
10、ruts (選擇下載full distribution) XWork:/xwork/download.actiontomcat6.0, JDK1.6,221.2.5 Struts2環(huán)境搭建Struts完整版的文件結(jié)構(gòu):apps:該文件夾下包含了基于struts2的示例應(yīng)用。docs:該文件夾下包含了struts2的相關(guān)文檔,包括struts2的快速入門,struts2的文檔以及API文檔等內(nèi)容。 lib:該文件夾下包含了struts2框架的類庫,以及struts2的第插件類庫。 src:該文件夾下包含了struts2框架的全部源代碼。231.2.5 Struts2環(huán)境搭建搭建Struts2環(huán)境
11、時(shí),一般需要做以下幾個(gè)步驟的工作:找到開發(fā)Struts2應(yīng)用需要使用到的jar文件.編寫Struts2的配置文件在web.xml中加入Struts2 MVC框架啟動(dòng)配置241.2.5 Struts2環(huán)境搭建開發(fā)struts2工程需要的基本JAR包:struts2-core-2.x.x.jar :Struts 2框架的類庫xwork-core-2.x.x.jar :XWork類庫,Struts 2在其上構(gòu)建 ognl-2.6.x.jar :對(duì)象圖導(dǎo)航語言(Object Graph NavigationLanguage),struts2框架通過其讀寫對(duì)象的屬性freemarker-2.3.x.ja
12、r :Struts 2的UI FreeMarker編寫commons-logging-1.x.x.jar :ASF的模板使用的日志包,Struts 2框架使用這個(gè)日志包來支持Log4J和JDK 1.4+的日志。commons-fileupload-1.2.1.jar 文件上傳組件,2.1.6版本后必須加入此文件251.2.5 Struts2環(huán)境搭建編寫Struts2的配置文件:Struts2默認(rèn)的配置文件為struts.xml ,該文件需要存放在WEB- INF/classes下,該文件的配置模版如下:注意:此文件在開發(fā)的時(shí)候是放到src目錄下,程序編譯后會(huì)自動(dòng)拷貝到WEB-INF/class
13、es目錄下。 Struts2環(huán)境搭建web.xml中加入Struts2 MVC框架啟動(dòng)配置:在struts1.x中, struts框架是通過Servlet啟動(dòng)的。在struts2中,struts框架是通過Filter啟動(dòng)的。他在web.xml中的配置如下:在StrutsPrepareAndExecuteFilter的init()方法中將會(huì)struts.xml完成初始化操作。類路徑下默認(rèn)的配置文件注意:struts2到struts.xml的內(nèi)容后,以javabean形式存放在內(nèi)存中,以后struts2對(duì)用戶的每次請(qǐng)求處理將使用內(nèi)存中的數(shù)據(jù),而不是每次都文件struts.xml27
14、. .struts2.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*. .第一章:Struts2 入門本章內(nèi)容1.1 Web開發(fā)框架概述1.2 Struts 2框架概覽1.3 第一個(gè)Struts2應(yīng)用281.3.1 第一個(gè)Struts2應(yīng)用-新建Action類oWorld 包名:com.neusoft.ooWorldAction 類名:29package com.neusoft.o; public classoWorldActionpublic String execute()return “
15、sucs”;1.3.1 第一個(gè)Struts2應(yīng)用-oWorld將Action與JSP頁面連接起來,在struts.xml中配置30/o.jsp1.3.1 第一個(gè)Struts2應(yīng)用-oWorld建立顯示結(jié)果的JSP頁面o.jsp發(fā)布到Tomcat,并測(cè)試31Mystruts2 application.o World!1.3.2 Struts.xml配置中的包屬性介紹在struts2框架中使用包來管理Action,包的作用和java中的類包是非常類似的,它主要用于管理一組業(yè)務(wù)功能相關(guān)的action。在實(shí)際應(yīng)用中,我們應(yīng)該把一組業(yè)務(wù)功能相關(guān)的Action放在同一個(gè)包下。32package name=
16、“o namesaction name=“/pace=“/” extends=struts-defaulto class=“com.neusoft.o.oWorldAction o.jsp1.3.2 Struts.xml配置中的包屬性介紹name屬性:配置包時(shí)必須指定name屬性,該name屬性值可以任意取名,但必須唯一,他不對(duì)應(yīng)java的類包,如果其他包要繼承該包,必須通過該屬性進(jìn)行。namespace屬性:1.可選屬性。定義該包名空間。2.如果某個(gè)包沒有指定namespace,則該包使用默認(rèn)名空間總是“.名空間,默認(rèn)namespace決定了action的接收所有路徑的
17、space可以寫為/,或者/路徑,默認(rèn)為”,可以,或者/yyy,對(duì)應(yīng)的action或者/路徑為/index.action,/yyy/index.action。/index.action,5.namespace最好用模塊來進(jìn)行命名。331.3.2 Struts.xml配置中的包屬性介紹extends屬性:繼承某個(gè)包。通常每個(gè)包都應(yīng)該繼承struts-default包, 因?yàn)镾truts2很多的功能都是器來實(shí)現(xiàn)。如:從請(qǐng)求中把請(qǐng)求參數(shù)封裝到action、文件上傳和數(shù)據(jù)驗(yàn)證等等都是通過器實(shí)現(xiàn)的。struts-default定義了這些器和Result類型??梢赃@么說:當(dāng)包繼承了struts-default才能使用struts2提供的功能。 struts-default包是在stru
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國土教育培訓(xùn)制度
- 反假培訓(xùn)考試制度
- 冠脈介入培訓(xùn)流程及制度
- 建立業(yè)務(wù)交流培訓(xùn)制度
- 非法培訓(xùn)機(jī)構(gòu)排查制度
- 高管培訓(xùn)制度
- 建立培訓(xùn)監(jiān)督制度
- 西青項(xiàng)目實(shí)施培訓(xùn)制度
- 第三方資質(zhì)培訓(xùn)管理制度
- 供熱公司安全培訓(xùn)制度
- 防意外傷害安全班會(huì)課件
- 2025年國家基本公共衛(wèi)生服務(wù)考試試題(附答案)
- 2025年醫(yī)院社區(qū)衛(wèi)生服務(wù)中心工作總結(jié)及2026年工作計(jì)劃
- 2025-2026學(xué)年北師大版七年級(jí)生物上冊(cè)知識(shí)點(diǎn)清單
- 委托作品協(xié)議書
- 食品加工廠乳制品設(shè)備安裝方案
- 2025至2030中國芳綸纖維行業(yè)發(fā)展分析及市場(chǎng)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 尾牙宴活動(dòng)策劃方案(3篇)
- 魯教版(2024)五四制英語七年級(jí)上冊(cè)全冊(cè)綜合復(fù)習(xí)默寫 (含答案)
- 生蠔課件教學(xué)課件
- 組塔架線安全培訓(xùn)
評(píng)論
0/150
提交評(píng)論