




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、SSH: (框架)Spring + Struts + Hibernate(框架)以前.java的文件要使用,總是要編譯,那么我們可以將不變的寫入.java文件,將會變的寫入txt文件網站:變-.txt 不變-.javaSpring:依賴注入,類似我們的接口類型的面向對象。Struts:界面,Hibernate:后臺數據庫。單單學會ssh里面的任意一門,都可以做網站項目。當我們把他們的有點整合起來之后,開發(fā)網站會更加方便更加快捷。修改起來也更加有層次Struts-hibernate-springStruts1 Struts2:當前類繼承Action的5個接口的常量:Public static f
2、inal String SUCCESS = “success”; - 成功頁面-NONE = “none”; - 空頁面-ERROR = “error”; - 錯誤頁面,錯誤信息-INPUT = “input”; - 也是用于錯誤跳轉 跳回原來的登錄頁面-LOGIN = “l(fā)ogin”; - 常量Validateable: 該接口提供了一個Validate (),方法用于校驗表單數據,在實際應用中只要重寫該方法就可以了。該方法是在執(zhí)行execute()方法之前執(zhí)行的。ValidationAware: 該接口定義了一些方法來對Action執(zhí)行過程中產生的信息進行處理,提供了一個addFieldE
3、rror(String fieldname,String errorMessage )用于驗證出錯時保存錯誤信息。Action傳值1:在源代碼(LoginAction)里,username和password都生成get/set的方法,在運行頁面的時候,、Strute2Action的配置文件:Name:必須屬性,對應請求action的名稱Class:必須屬性,指明處理類的具體途徑Method: 如果action類中有多個方法,該屬性制定請求對應應用的方法。Method: 一般情況下,action的name和class都是必須設置的,但是method不是。如果action類中同時有多少個方法,那么
4、我們可以通過修改method的內容來指定我們請求使用的哪個方法。默認情況下是execute()。數據標簽: 主要用于提供各種數據訪問相關的功能 Action:該標簽用于在jsp頁面直接調用一個action Property:用于輸出某個值 Param:用于設置參數,通常用于bean標簽和action標簽的自標簽。 Bean:該標簽用于創(chuàng)建一個JavaBean實例。如果指定id屬性,則可以將創(chuàng)建的JavaBean 實例放入stackcontext中 Bean:標簽可以通過他的name屬性指定一個類為模版,創(chuàng)建一個以id指定為對象名的 對 象,在bean標簽里面就可以使用這個對象的屬性。通過標簽來
5、修改屬性通 過 property來輸出屬性,在property使用當中直接點出來的可以是屬性或者方法,方法 需要使用括號標志。如果說屬性,就算屬性是私有的,屬性的值也能獲取,能獲取的原 因不是因為屬性的修飾符,而是因為屬性的值的獲取,取決于屬性的get方法,設置值 取決于set方法。(“#”用于調用對象) Date:用于格式化輸出一個日期 Debug:用于在頁面上生成一個調試鏈接,當單擊該鏈接時,可以看到當前值棧和 stackcontent中的內容 Include:用于在jsp頁面中包含其他的jsp或servlet資源。 I18n:用于指定國際化資源文件的baseName Push:用于將某個
6、值放入值客棧的棧頂。 Set:用于設置一個新的變量 Text:用于輸出國際化(國際化內容在后面講解) url:用于生成一個URL地址。 Action標簽:用于直接在頁面調用一個Action請求,該標簽有以下幾個屬性: Id: Name: Namespace:頁面跳轉:在原有的頁面沒有的時候我們通過點擊提交按鈕來去struts.mxl調用action, 調用action之后,會去找class屬性的action類進行處理數據,然后通過execcute方法返回的字符串和struts.mxl里面的匹配進行頁面跳轉,跳轉到指定頁面?,F(xiàn)在這個action標簽,他是在頁面加載的時候直接去struts.mxl
7、調用action之后,會 去找class屬性的action類進行處理數據,然后通過execcute方法返回的字符串和struts.mxl里面的匹配,不進行頁面跳轉,而是在當前頁面顯示處理完后的頁面信息。(將先前的跳轉頁面添加到當前的頁面,注意:這個跳轉頁面(處理頁面)不是一定要返回到當前的頁面,通過execcuteResult=“true”來決定是否返回。)控制標簽控制標簽主要用于完成流程的控制,以及對值棧的相關操作??刂茦撕炗幸韵聨讉€:If:用于控制選擇輸出的標簽Elseif:用于控制選擇輸出的標簽,必須和if標簽結合使用Else:用于控制選擇輸出的標簽,必須和if標簽結合使用Iterato
8、r:用于將集合迭代輸出Append:用于將多個集合拼接成一個新的集合Merge:用于將多個集合拼接成一個新的集合。但與append的拼接方式不同。Generator:用于將一個字符串按指定的分隔符分隔成多個字符串,臨時生成的多個字符串可以使用iterator標簽來迭代輸出。Sort:用于對集合進行排序。Subset:用于截取集合的部分元素,形成新的子集合。: Iterator: 標簽主要用于對集合進行迭代,這里的集合包含List,set,也可以對Map類型的 對象進行迭代輸出。該標簽有如下屬性: Value: 該屬性是可選的,指定被迭代的集合。如果沒有指定該屬性,則使用值棧棧頂的 集合。 Id
9、:該屬性是可選的,指定集合元素的ID Status:該屬性是可選的,指定迭代時的IteratorStatus實例,通過該實例可判斷當前迭代元素的屬性,如果指定該屬性,其實例包含如下幾個方法:1.int getCount():返回當期迭代了幾個元素。2.int getIndex():返回當前迭代元素的索引3.boolean isEven():返回當前被迭代元素的索引元素是否是偶數4.boolean isOdd():返回當前被迭代元素的索引元素是否是奇數5.boolean isFirst():返回當前被迭代元素的索引元素是否是首位元素6.boolean isLast():返回當前被迭代元素的索引元
10、素是否是最后一個元素Generator: 標簽Generator:標簽用于將一個字符串按照指定的分隔符成多個子字符串,并將這 些子字符串放入一個集合中。該標簽有如下5個屬性:Id:該屬性是可選的,用來指定生成的子字符串組成的集合在上下文棧中名字。Val:該屬性是必需的,用來指定將要分割的字符串。Separator:該屬性的必需的,用來指定分割字符串的分隔符。Count:該屬性可選,用來指定生成集合中元素的總數。Converter:該屬性是可選的,用來指定將集合中德每一個字符串轉換成對象的 轉換器。表單標簽 表單標簽是用來生成表單元數的,Struts2的表單標簽分為兩種,一種是與HTML標簽作用
11、相同的標簽,另一種是其特有的一些標簽。下面先簡單介紹一些魚HTML標簽的作用相同的標簽: 表3.1 與MTML功能相同的標簽 Struts2標簽 HTML標簽Struts2標簽一些通用的屬性: cssClass: 指定表單元素的class屬性 cssStyle: 指定表單元素的css樣式 disabled: 指定表單元素是否可用,若該屬性值為“true”,則該表單元素變灰不可用。label: 指定表單元素的標簽labelPosition: 指定表單元素標簽的位置。該屬性有“top/left”兩種取值默認為leftname: 指定表單元素提交數據的名稱required: 制定表單元素為必填元素,
12、 若指定值為“true”,將在元素的標簽后面加“*”符號requiredposition: 定義必填元素的標志“*”的位置;size: 指定表單元素的大小tablndex: 指定表單元素用tab切換時的序號title: 指定表單元素的標題value: 指定表單元素的值 theme:指定表單的主題樣式。可選值為xhtml,simple,ajax,css_xhtml. 默認值為xhtml. 非表單標簽ActionErrorActionMessagefieldError三個標簽中,保存值的方法都是一樣,在action類中,通過對應的add對應方法,輸入保存值就可以保存。在用的時候,只要在jsp頁面中
13、,調用對應的非表單標簽,就會輸出對應的內容。具體使用:ActionError:1.在action類中保存和action有關的信息。2.在jsp頁面中調用 標簽。ActionMessage:3.在action類中保存和ActionMessage有關的信息。4.在jsp頁面中調用 標簽。FieldError:使用效果1:1.在action類中保存和fielderror有關的信息。2.在jsp頁面中調用 標簽(其效果是:輸出在action類中所保存的所有fieldError信息)效果2:1在action類中保存和fielderror有關的信息。addFieldError(“username”,”Fi
14、eldError中保存的username錯誤”);錯誤對象的名字2.在jsp頁面中調用 標簽,并且使用username指定輸出哪個錯誤對象username效果3:1.在action類中保存和fielderror有關的信息。addFieldError(“username”,”FieldError中保存的username錯誤”);錯誤對象的名字2.跳轉時候,回來一個表單叫做username文本框的頁面。這個時候,錯誤的信息價將會自動分配到對應文本框上邊(注意:不是所有的錯誤信息都會自動分配,是必須在action類中添加的”錯誤對象名字”和jsp頁面中的表單里面的name一樣,才會有) 時間類型的轉
15、換確認有一個能夠跳轉的Struts2頁面項目在首頁面添加問本框在actions類里面創(chuàng)建一個D的類里面創(chuàng)建Date date;并且生成get/set方法,再在AsdAction里面創(chuàng)建D date;生成get/set方法再在actions里面創(chuàng)建一個文件,actions類名-perties配置文件;在創(chuàng)建成功頁面輸入:運行之后在文本框里面輸入:2013-9-9 點提交確定會顯示 13-9-9,他只是按照他原有的格式顯示。Struts2的輸入校Struts2應用中的輸入校驗大致有以下幾種:在Action類中的處理方法進行校驗,若沒有指定方法就用execute()方法;繼承ActionSuppor
16、t類,并重寫其validate()方法實現(xiàn)輸入校驗。應用Struts2的校驗框架進行校驗。攔截器攔截器是對調用的Action起作用,它提供了一種機制可以使開發(fā)者可以定義在一個action執(zhí)行的前后執(zhí)行的代碼,也可以在一個action執(zhí)行前阻止其執(zhí)行。攔截器的格式 攔截器的配置是在struts.xml中的完成的定義一個攔截器使用標簽,攔截器的名字相同 ,后者覆蓋前者 它是包在里面。代碼:如果要應用這些攔截器,就需要在配設置中引用這些攔截器,一個需要應用多個攔截器,就不免要有多條引用語句(引用攔截器用標簽)攔截器的設置格式:攔截器或攔截器棧配設完成后就可以在中對其引用了,一個action引用攔截器
17、或攔截器棧的格式如下:Struts2的攔截器execAadWait: 后執(zhí)行Action,負責將等待畫面發(fā)送給用戶;exception:這個攔截器負責處理異常,它將異常映射為結果;fileUpload: 這個攔截器主要用于文件上傳,它負責解析表單中文件域的內容;i18n: 這是支持國際化的攔截器,它負責把所選的語言,區(qū)域放入用戶SESSION中;logger:這是一個負責日志記錄的攔截器,主要是輸出Action的名字;model-driven: 這是一個用于模型的驅動的攔截器,當某個Action類實現(xiàn)了ModeiDriven 接口是,它負責把getModel()方法的結果堆入ValueStac
18、k中;Scoped-model-driven: 如果一個Action實現(xiàn)了一個ScopedModeiDriven接口,該攔截器負責從指定生存范圍中找出指定的Model,并將通過setModel方法將該Model傳給Action實例;Params: 只是一個基本的攔截器,它負責解析HTTP請求中的參數,并將參數值設置為Action對應的屬性值。Prepare: 如果action 實現(xiàn)了Preparabel接口,將會調用該攔截器的prepare()方法;Static-params: 這個攔截器負責將xml中標簽下標簽中的參數傳入action;Scope: 這是范圍轉換攔截器,它可以將action狀
19、態(tài)信息保存到httpsession范圍,或者保存到servletContext范圍內。Servlet-config:如果某個action需要直接訪問serlvetAPI,可以通過這個攔截器實現(xiàn)roles: 這是一個JAAS(Java Authentication and Authorization Service,java授權和認證服務)攔截器,只有當瀏覽者獲得合適的授權后,才能調用被該攔截器攔截的action.timer: 這個攔截器負責輸出action的執(zhí)行時間,在分析該action的性能瓶頸時比較有用。token:這個攔截器主要用于阻止重復提交,它檢查傳到action中的token,防止
20、多次提交token-session:這個攔截器的作用與前一個基本類似,只是它把token保存在httpSession中。validation:通過執(zhí)行在xxxAction-validation.xml中定義的校驗器,完成數據校驗。workflow:這個攔截器負責調用action類中的validate方法,如果校驗失敗,則返回input的邏輯視圖。上傳文件先創(chuàng)建一個會跳轉的頁面在首頁面添加代碼如下: Enctype =multipart/form-data 是代表二進制方式進行處理我們的表單數據。在action類里面定義一個File upload; String uploadFileName;并
21、且get/set,然后在execute()方法里面添加代碼如下: InputStream is = new FileInputStream(getUpload();OutputStream out = new FileOutputStream(D:/upload/+uploadFileName);byte buffer = new byte1024;int count = 0;while(count=is.read(buffer)0) out.write(buffer,0,count);out.close();is.close(); return SUCCESS;運行 (運行之前在你規(guī)定的磁盤
22、下創(chuàng)建一個和上面一樣的“upload”文件夾);國際化資源的命名 國際化資源文件都是“*.properties”的文件,而且該文件需要放在項目的classsses文件夾下,也就是和“struts.xml”文件處于同一位置。就命名規(guī)則而言,國際化資源文件必須命名為“基本名稱_語言代碼_國家代碼.properties”例如:中文的國際化資源文件命名為:基本名稱_zh_CN.properties而英文國際化資源文件命名為:基本名稱_en_US.propertiesFile-web project現(xiàn)在的網站項目,只是一個普通的jsp網站項目和struts沒任何關系由于struts項目是在web項目下開
23、發(fā)的,所以我們要先創(chuàng)建一個web項目選擇指定web項目,單擊右鍵,就會有MyEclipse,在MyEclipse右方選擇添加我們的struts開發(fā)工具。一旦生成了1.3的版本,就無法直接地換回1.1或者1.2的版本,如果要換回來,就只能,刪除原有項目,重新創(chuàng)建一個新的項目并且把struts1.1的版本添加到項目中去就可以了創(chuàng)建項目,并且添加struts2開發(fā)框架創(chuàng)建一個MyJsp.jsp頁面添加(注:最好按照順序來添加,否則出現(xiàn)問題只能一個個重新來。)在里面添加如下代碼: 注意:login已經被系統(tǒng)所使用,所以以后不能用創(chuàng)建一個class類,這個類要放在actions包里面代碼如下:packa
24、ge actions;import com.opensymphony.xwork2.ActionSupport;public class Login1Action extends ActionSupport String username,password;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPa
25、ssword(String password) this.password = password;Overridepublic String execute() throws Exception return success;在src下面一個叫做struts.xml的struts配置文件在這個文件里面修改如下: /MyJsp.jsp 修改完畢之后就可以運行了運行原理:1、在按ctrl+F11的時候,系統(tǒng)將會運行當前選定頁面的項目2、找出項目配文件:web.xml進行項目初始化,(首頁就出來了)3、一點提交, 系統(tǒng)將會將username,password保存起來,怎么保存呢?4、系統(tǒng)發(fā)現(xiàn),你點提交的時候,傳來了一個login1這樣的一個參數,這個參數將會被web.xml里面的filter攔截,并且交給我們的struts2處理 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美容行業(yè)顧客服務質量承諾措施
- 人教版六年級下冊數學教學評估計劃
- 2025年高中教務處課程評價與反饋計劃
- 六年級上冊環(huán)境保護安全教學計劃
- 高二年級英語角交流計劃
- 小學語文教師課堂管理策略計劃
- 湘教版美術五年級上冊課外拓展計劃
- 加裝電梯標準合同標準文本
- 二手車員工合同標準文本
- 2024-2025工廠員工安全培訓考試試題含答案(突破訓練)
- NFPA59A2021中文版液化天然氣生產儲存和裝運標準
- 富馬酸伊布利特幻燈課件
- 2023年大學生創(chuàng)業(yè)的商業(yè)計劃書模板(四篇)
- 新譯林版高一英語新教材必修三全冊課文及翻譯(英漢對照)
- 陜西省潼關縣潼峪-蒿岔峪金礦開采項目環(huán)評報告
- 高中化學常見晶體的結構及晶胞
- 著色探傷作業(yè)指導書
- 2002-2022廣東省深圳市中考數學歷年真題(共24套最全)學生版+解析版
- 2022年法考重難點專題刑法習題及答案解析
- GB/T 5900.1-2008機床主軸端部與卡盤連接尺寸第1部分:圓錐連接
- GB/T 4857.13-2005包裝運輸包裝件基本試驗第13部分:低氣壓試驗方法
評論
0/150
提交評論