第二章詳細配置_第1頁
第二章詳細配置_第2頁
第二章詳細配置_第3頁
第二章詳細配置_第4頁
第二章詳細配置_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Struts 2配置詳解配置詳解第二章第二章Struts 2基本結(jié)構(gòu)基本結(jié)構(gòu)4-1 登錄程序運行流程圖登錄程序運行流程圖 login.jsp核心控制器核心控制器ActionResultmanager.jspStruts 2配置文件配置文件4-3struts.xmlpackage元素元素 包的作用:簡化維護工作,提高重用性包的作用:簡化維護工作,提高重用性包可以包可以“繼承繼承”已定義的包,并可以添加自己包的配置已定義的包,并可以添加自己包的配置name屬性為必需的且唯一,用于指定包的名稱屬性為必需的且唯一,用于指定包的名稱extends屬性指定要擴展的包屬性指定要擴展的包namespace屬性

2、定義該包中屬性定義該包中action的命名空間的命名空間 ,為可選屬性,為可選屬性 除非有令人信服原因,自定義的包應(yīng)該總是擴展除非有令人信服原因,自定義的包應(yīng)該總是擴展struts-default包包Struts 2基本結(jié)構(gòu)基本結(jié)構(gòu)4-2 核心控制器核心控制器需要在需要在web.xml中進行配置中進行配置對框架進行初始化,以及處理所有的請求對框架進行初始化,以及處理所有的請求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實現(xiàn)實現(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)的實際資源位置應(yīng)的實際資源位置/page/manage.jsp/page/login.jsp/page/error.jspStruts 2配置文件配置文件4-1struts.xml核心配置文件,主要負責(zé)管理核心配置文件,主要負責(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默認配置文件,會自動加載默認配置文件,會自動加載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)點:避免動態(tài)方法調(diào)用的安全隱患優(yōu)點:避免動態(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配置默認配置默認Action如果沒有一個如果沒有一個Action匹配請求,默認匹配請求,默認Action將被執(zhí)行將被執(zhí)行通過通過元素配置默認元素配置默認Action error.jsp如果請求的如果請求的Action不存在,不存在,將轉(zhuǎn)發(fā)到將轉(zhuǎn)發(fā)到error.jsp省略省略class屬性,將使用屬性,

12、將使用ActionSupport類類Result配置配置 3-1常用結(jié)果類型常用結(jié)果類型 dispatcher類型類型默認結(jié)果類型,后臺使用默認結(jié)果類型,后臺使用RequestDispatcher() 轉(zhuǎn)發(fā)請求轉(zhuǎn)發(fā)請求 redirect類型類型 后臺使用的后臺使用的sendRedirect()將請求重定向至指定的將請求重定向至指定的URL redirectAction類型類型 主要用于重定向到主要用于重定向到Action manageerror.jsplogin.jspResult配置配置3-2 動態(tài)結(jié)果動態(tài)結(jié)果配置時不知道執(zhí)行后的結(jié)果是哪一個,運行時才知道配置時不知道執(zhí)行后的結(jié)果是哪一個,運

13、行時才知道哪個結(jié)果作為視圖顯示給用戶哪個結(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é)果可滿足一個包中多個全局結(jié)果可滿足一個包中多個Action共享一個結(jié)果共享一個結(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)實現(xiàn)租房網(wǎng)信息發(fā)布實現(xiàn)租房網(wǎng)信息發(fā)布 訓(xùn)練要點:訓(xùn)練要

15、點:Struts 2配置配置Struts 2框架應(yīng)用框架應(yīng)用 需求說明:需求說明:判斷用戶是否是管理員判斷用戶是否是管理員如果非管理員,頁面跳轉(zhuǎn)至首頁瀏覽房屋信息如果非管理員,頁面跳轉(zhuǎn)至首頁瀏覽房屋信息如果管理員登錄則頁面跳轉(zhuǎn)至管理頁面如果管理員登錄則頁面跳轉(zhuǎn)至管理頁面 實現(xiàn)思路:實現(xiàn)思路:升級登錄程序,使用動態(tài)結(jié)果,實現(xiàn)不同用戶瀏升級登錄程序,使用動態(tài)結(jié)果,實現(xiàn)不同用戶瀏覽不同權(quán)限的資源覽不同權(quán)限的資源講解需求說明講解需求說明完成時間:完成時間:15分鐘分鐘指導(dǎo)指導(dǎo)實現(xiàn)租房網(wǎng)信息發(fā)布實現(xiàn)租房網(wǎng)信息發(fā)布 訓(xùn)練要點:訓(xùn)練要點:Struts 2配置配置Struts 2框架應(yīng)用框架應(yīng)用 需求說明:需求說明:在管理頁面點擊發(fā)布發(fā)在管理頁面點擊發(fā)布發(fā)布租房信息鏈接,跳轉(zhuǎn)布租房信息鏈接,跳轉(zhuǎn)至房屋信息發(fā)布頁面至房屋信息發(fā)布頁面填寫房屋信息,提交表填寫房屋信息,提交表單,實現(xiàn)房屋信息發(fā)布單,實現(xiàn)房屋信息發(fā)布實現(xiàn)思路:實現(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論