版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Struts 2配置詳解配置詳解第二章第二章Struts 2基本結(jié)構(gòu)基本結(jié)構(gòu)4-1 登錄程序運(yùn)行流程圖登錄程序運(yùn)行流程圖 login.jsp核心控制器核心控制器ActionResultmanager.jspStruts 2配置文件配置文件4-3struts.xmlpackage元素元素 包的作用:簡化維護(hù)工作,提高重用性包的作用:簡化維護(hù)工作,提高重用性包可以包可以“繼承繼承”已定義的包,并可以添加自己包的配置已定義的包,并可以添加自己包的配置name屬性為必需的且唯一,用于指定包的名稱屬性為必需的且唯一,用于指定包的名稱extends屬性指定要擴(kuò)展的包屬性指定要擴(kuò)展的包namespace屬性
2、定義該包中屬性定義該包中action的命名空間的命名空間 ,為可選屬性,為可選屬性 除非有令人信服原因,自定義的包應(yīng)該總是擴(kuò)展除非有令人信服原因,自定義的包應(yīng)該總是擴(kuò)展struts-default包包Struts 2基本結(jié)構(gòu)基本結(jié)構(gòu)4-2 核心控制器核心控制器需要在需要在web.xml中進(jìn)行配置中進(jìn)行配置對框架進(jìn)行初始化,以及處理所有的請求對框架進(jìn)行初始化,以及處理所有的請求struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*Struts 2.0版本的核心控制器為版本的核心控制
3、器為org.apache.struts2.dispatcher.FilterDispatcherStruts 2基本結(jié)構(gòu)基本結(jié)構(gòu)4-3 Action開發(fā)開發(fā)Action實(shí)現(xiàn)實(shí)現(xiàn)Action接口接口繼承繼承ActionSupport類類普通的普通的Java類類 配置配置Action/page/manage.jsp/page/login.jsp/page/error.jspStruts 2基本結(jié)構(gòu)基本結(jié)構(gòu)4-4 Result作用作用:調(diào)度視圖以哪種形式體現(xiàn)給客戶端調(diào)度視圖以哪種形式體現(xiàn)給客戶端(Action處理結(jié)處理結(jié)束后,系統(tǒng)下一步將要做什么束后,系統(tǒng)下一步將要做什么)name屬性表示屬性表示r
4、esult邏輯名,邏輯名,result元素的值指定對元素的值指定對應(yīng)的實(shí)際資源位置應(yīng)的實(shí)際資源位置/page/manage.jsp/page/login.jsp/page/error.jspStruts 2配置文件配置文件4-1struts.xml核心配置文件,主要負(fù)責(zé)管理核心配置文件,主要負(fù)責(zé)管理Action通常放在通常放在WEB-INF/classes目錄下,在該目錄下的目錄下,在該目錄下的struts.xml文件可以被自動加載文件可以被自動加載 Struts 2配置文件配置文件4-2struts.xmlconstant元素元素配置常量,可以改變配置常量,可以改變Struts 2框架的一些
5、行為框架的一些行為name屬性表示常量名稱,屬性表示常量名稱,value屬性表示常量值屬性表示常量值 常見常見constant元素元素 Constant里面的配置的位置里面的配置的位置struts2-core-2.1.XXX.jarorgapachestruts2 pertiesStruts 2配置文件配置文件4-4struts-default.xml Struts 2默認(rèn)配置文件,會自動加載默認(rèn)配置文件,會自動加載struts-default包在包在struts-default.xml文件中定義文件中定義struts-plugin.xml Struts 2插件使用的配置
6、文件插件使用的配置文件 如果不開發(fā)插件,不需要編寫該配置文件如果不開發(fā)插件,不需要編寫該配置文件加載順序加載順序struts-default.xmlstruts-plugin.xmlstruts.xml web.xml練習(xí)練習(xí)租房網(wǎng)中文亂碼解決租房網(wǎng)中文亂碼解決 需求說明:需求說明:解決中文亂碼問題解決中文亂碼問題 提示:提示:Struts 2 Action 5-1Action的作用的作用封裝工作單元封裝工作單元數(shù)據(jù)轉(zhuǎn)移的場所數(shù)據(jù)轉(zhuǎn)移的場所 返回結(jié)果字符串返回結(jié)果字符串 public class HelloWorldAction implements Action private String
7、 name = ; private String message = ; public String execute() this.setMessage(Hello,+this.getName()+!); return SUCCESS; /.省略省略setter/getter方法方法 Struts 2 Action 5-2動態(tài)方法調(diào)用動態(tài)方法調(diào)用作用:減少作用:減少Action數(shù)量數(shù)量使用:使用:actionName!methodName.action 禁用:將屬性禁用:將屬性strutsenableDynamicMethodInvocation設(shè)置設(shè)置為為false public class
8、 UserAction implements Action public String login() public String register() /page/manage.jsp /page/success.jsp /page/login.jsp /page/register.jsp /page/error.jsp調(diào)用調(diào)用UserAction的的login()方法方法 /user!login.action 調(diào)用調(diào)用UserAction的的register()方法方法 /user!register.action 演示示例:動態(tài)方法調(diào)用演示示例:動態(tài)方法調(diào)用Struts 2 Action
9、5-3method屬性屬性優(yōu)點(diǎn):避免動態(tài)方法調(diào)用的安全隱患優(yōu)點(diǎn):避免動態(tài)方法調(diào)用的安全隱患缺陷:導(dǎo)致大量的缺陷:導(dǎo)致大量的Action配置配置 public class UserAction implements Action public String login() public String register() /page/manage.jsp /page/login.jsp /page/error.jsp /page/success.jsp /page/register.jsp /page/error.jsp調(diào)用調(diào)用UserAction的的login()方法方法 /login.act
10、ion 調(diào)用調(diào)用UserAction的的register()方法方法 /register.action 演示示例:使用演示示例:使用method屬性屬性Struts 2 Action 5-4通配符通配符(*)的使用的使用另一種形式的動態(tài)方法調(diào)用另一種形式的動態(tài)方法調(diào)用 /page/1_success.jsp /page/1.jsp /page/error.jspmethod=login/page/login_success.jsp/page/login.jsp /loginUser.action /registerUser.action method=“register/page/regist
11、er_success.jsp/page/register.jsp演示示例:使用通配符配置演示示例:使用通配符配置ActionStruts 2 Action 5-4通配符通配符(*)的使用最常用的例子的使用最常用的例子 /page/1_2_success.jspStruts 2 Action 5-5配置默認(rèn)配置默認(rèn)Action如果沒有一個(gè)如果沒有一個(gè)Action匹配請求,默認(rèn)匹配請求,默認(rèn)Action將被執(zhí)行將被執(zhí)行通過通過元素配置默認(rèn)元素配置默認(rèn)Action error.jsp如果請求的如果請求的Action不存在,不存在,將轉(zhuǎn)發(fā)到將轉(zhuǎn)發(fā)到error.jsp省略省略class屬性,將使用屬性,
12、將使用ActionSupport類類Result配置配置 3-1常用結(jié)果類型常用結(jié)果類型 dispatcher類型類型默認(rèn)結(jié)果類型,后臺使用默認(rèn)結(jié)果類型,后臺使用RequestDispatcher() 轉(zhuǎn)發(fā)請求轉(zhuǎn)發(fā)請求 redirect類型類型 后臺使用的后臺使用的sendRedirect()將請求重定向至指定的將請求重定向至指定的URL redirectAction類型類型 主要用于重定向到主要用于重定向到Action manageerror.jsplogin.jspResult配置配置3-2 動態(tài)結(jié)果動態(tài)結(jié)果配置時(shí)不知道執(zhí)行后的結(jié)果是哪一個(gè),運(yùn)行時(shí)才知道配置時(shí)不知道執(zhí)行后的結(jié)果是哪一個(gè),運(yùn)
13、行時(shí)才知道哪個(gè)結(jié)果作為視圖顯示給用戶哪個(gè)結(jié)果作為視圖顯示給用戶public class UserAction extends ActionSupport private String nextDispose;public String login() .if(user.isManager()nextDispose = manager;elsenextDispose = common;return SUCCESS;public String getNextDispose()return nextDispose;.$nextDispose/page/error.jsp.nextDispose要在要
14、在Action中存中存在,并且提供其在,并且提供其getter方法方法 演示示例:使用動態(tài)結(jié)果演示示例:使用動態(tài)結(jié)果Result配置配置3-3 全局結(jié)果全局結(jié)果 全局結(jié)果可滿足一個(gè)包中多個(gè)全局結(jié)果可滿足一個(gè)包中多個(gè)Action共享一個(gè)結(jié)果共享一個(gè)結(jié)果/page/error.jsp/page/login.jsp /page/manage.jsp /page/login.jsp /page/error.jsp不需要在包內(nèi)的不需要在包內(nèi)的Action中中指定指定error Result了了全局結(jié)果位于全局結(jié)果位于package元素內(nèi)元素內(nèi)指導(dǎo)指導(dǎo)實(shí)現(xiàn)租房網(wǎng)信息發(fā)布實(shí)現(xiàn)租房網(wǎng)信息發(fā)布 訓(xùn)練要點(diǎn):訓(xùn)練要
15、點(diǎn):Struts 2配置配置Struts 2框架應(yīng)用框架應(yīng)用 需求說明:需求說明:判斷用戶是否是管理員判斷用戶是否是管理員如果非管理員,頁面跳轉(zhuǎn)至首頁瀏覽房屋信息如果非管理員,頁面跳轉(zhuǎn)至首頁瀏覽房屋信息如果管理員登錄則頁面跳轉(zhuǎn)至管理頁面如果管理員登錄則頁面跳轉(zhuǎn)至管理頁面 實(shí)現(xiàn)思路:實(shí)現(xiàn)思路:升級登錄程序,使用動態(tài)結(jié)果,實(shí)現(xiàn)不同用戶瀏升級登錄程序,使用動態(tài)結(jié)果,實(shí)現(xiàn)不同用戶瀏覽不同權(quán)限的資源覽不同權(quán)限的資源講解需求說明講解需求說明完成時(shí)間:完成時(shí)間:15分鐘分鐘指導(dǎo)指導(dǎo)實(shí)現(xiàn)租房網(wǎng)信息發(fā)布實(shí)現(xiàn)租房網(wǎng)信息發(fā)布 訓(xùn)練要點(diǎn):訓(xùn)練要點(diǎn):Struts 2配置配置Struts 2框架應(yīng)用框架應(yīng)用 需求說明:需求說明:在管理頁面點(diǎn)擊發(fā)布發(fā)在管理頁面點(diǎn)擊發(fā)布發(fā)布租房信息鏈接,跳轉(zhuǎn)布租房信息鏈接,跳轉(zhuǎn)至房屋信息發(fā)布頁面至房屋信息發(fā)布頁面填寫房屋信息,提交表填寫房屋信息,提交表單,實(shí)現(xiàn)房屋信息發(fā)布單,實(shí)現(xiàn)房屋信息發(fā)布實(shí)現(xiàn)思路:實(shí)現(xiàn)思路:編寫發(fā)布房屋信息的編寫發(fā)布房屋信息的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年鋼筋大宗采購商務(wù)協(xié)議
- 2024年庭院圍墻護(hù)欄供應(yīng)及施工協(xié)議
- 文書模板-《車輛剮蹭修補(bǔ)合同》
- 2024年專利技術(shù)交易協(xié)議樣本
- 2024年度國內(nèi)專線物流運(yùn)輸服務(wù)協(xié)議
- 2024年擔(dān)保協(xié)議責(zé)任分配指南
- 2024屆安徽亳州闞疃金石中學(xué)高三第五次適應(yīng)性訓(xùn)練數(shù)學(xué)試題
- 2023-2024學(xué)年浙江省溫州市求知中學(xué)高三下學(xué)期半期聯(lián)合考試數(shù)學(xué)試題
- 2024預(yù)包裝食品批量采購協(xié)議范本
- 地產(chǎn)開發(fā)項(xiàng)目2024土方工程施工協(xié)議
- 倉庫管理中的客戶服務(wù)和溝通技巧
- 2024年給藥錯誤護(hù)理不良事件分析持續(xù)改進(jìn)
- 電力行業(yè)網(wǎng)絡(luò)安全
- 《北京大學(xué)介紹》課件
- 提升員工營銷能力的企業(yè)教育培訓(xùn)
- 學(xué)院(部)國際交流與合作工作考核指標(biāo)體系與評分標(biāo)準(zhǔn)
- 大學(xué)生社團(tuán)對大學(xué)生的影響的社會調(diào)查報(bào)告
- 胱氨酸純度的測定(最終版)
- 表-D完整版本.0.2-作業(yè)架施工驗(yàn)收記錄表
- 英語48個(gè)國際音標(biāo)課件(單詞帶聲、附有聲國際音標(biāo)圖)
- (完整文本版)貨物驗(yàn)收單
評論
0/150
提交評論