版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、SSH: (框架)Spring + Struts + Hibernate(框架)以前.java的文件要使用,總是要編譯,那么我們可以將不變的寫入.java文件,將會變的寫入txt文件網(wǎng)站:變-.txt 不變-.javaSpring:依賴注入,類似我們的接口類型的面向?qū)ο?。Struts:界面,Hibernate:后臺數(shù)據(jù)庫。單單學(xué)會ssh里面的任意一門,都可以做網(wǎng)站項目。當(dāng)我們把他們的有點整合起來之后,開發(fā)網(wǎng)站會更加方便更加快捷。修改起來也更加有層次Struts-hibernate-springStruts1 Struts2:當(dāng)前類繼承Action的5個接口的常量:Public static f
2、inal String SUCCESS = “success”; - 成功頁面-NONE = “none”; - 空頁面-ERROR = “error”; - 錯誤頁面,錯誤信息-INPUT = “input”; - 也是用于錯誤跳轉(zhuǎn) 跳回原來的登錄頁面-LOGIN = “l(fā)ogin”; - 常量Validateable: 該接口提供了一個Validate (),方法用于校驗表單數(shù)據(jù),在實際應(yīng)用中只要重寫該方法就可以了。該方法是在執(zhí)行execute()方法之前執(zhí)行的。ValidationAware: 該接口定義了一些方法來對Action執(zhí)行過程中產(chǎn)生的信息進行處理,提供了一個addFieldE
3、rror(String fieldname,String errorMessage )用于驗證出錯時保存錯誤信息。Action傳值1:在源代碼(LoginAction)里,username和password都生成get/set的方法,在運行頁面的時候,、Strute2Action的配置文件:Name:必須屬性,對應(yīng)請求action的名稱Class:必須屬性,指明處理類的具體途徑Method: 如果action類中有多個方法,該屬性制定請求對應(yīng)應(yīng)用的方法。Method: 一般情況下,action的name和class都是必須設(shè)置的,但是method不是。如果action類中同時有多少個方法,那么
4、我們可以通過修改method的內(nèi)容來指定我們請求使用的哪個方法。默認情況下是execute()。數(shù)據(jù)標(biāo)簽: 主要用于提供各種數(shù)據(jù)訪問相關(guān)的功能 Action:該標(biāo)簽用于在jsp頁面直接調(diào)用一個action Property:用于輸出某個值 Param:用于設(shè)置參數(shù),通常用于bean標(biāo)簽和action標(biāo)簽的自標(biāo)簽。 Bean:該標(biāo)簽用于創(chuàng)建一個JavaBean實例。如果指定id屬性,則可以將創(chuàng)建的JavaBean 實例放入stackcontext中 Bean:標(biāo)簽可以通過他的name屬性指定一個類為模版,創(chuàng)建一個以id指定為對象名的 對 象,在bean標(biāo)簽里面就可以使用這個對象的屬性。通過標(biāo)簽來
5、修改屬性通 過 property來輸出屬性,在property使用當(dāng)中直接點出來的可以是屬性或者方法,方法 需要使用括號標(biāo)志。如果說屬性,就算屬性是私有的,屬性的值也能獲取,能獲取的原 因不是因為屬性的修飾符,而是因為屬性的值的獲取,取決于屬性的get方法,設(shè)置值 取決于set方法。(“#”用于調(diào)用對象) Date:用于格式化輸出一個日期 Debug:用于在頁面上生成一個調(diào)試鏈接,當(dāng)單擊該鏈接時,可以看到當(dāng)前值棧和 stackcontent中的內(nèi)容 Include:用于在jsp頁面中包含其他的jsp或servlet資源。 I18n:用于指定國際化資源文件的baseName Push:用于將某個
6、值放入值客棧的棧頂。 Set:用于設(shè)置一個新的變量 Text:用于輸出國際化(國際化內(nèi)容在后面講解) url:用于生成一個URL地址。 Action標(biāo)簽:用于直接在頁面調(diào)用一個Action請求,該標(biāo)簽有以下幾個屬性: Id: Name: Namespace:頁面跳轉(zhuǎn):在原有的頁面沒有的時候我們通過點擊提交按鈕來去struts.mxl調(diào)用action, 調(diào)用action之后,會去找class屬性的action類進行處理數(shù)據(jù),然后通過execcute方法返回的字符串和struts.mxl里面的匹配進行頁面跳轉(zhuǎn),跳轉(zhuǎn)到指定頁面?,F(xiàn)在這個action標(biāo)簽,他是在頁面加載的時候直接去struts.mxl
7、調(diào)用action之后,會 去找class屬性的action類進行處理數(shù)據(jù),然后通過execcute方法返回的字符串和struts.mxl里面的匹配,不進行頁面跳轉(zhuǎn),而是在當(dāng)前頁面顯示處理完后的頁面信息。(將先前的跳轉(zhuǎn)頁面添加到當(dāng)前的頁面,注意:這個跳轉(zhuǎn)頁面(處理頁面)不是一定要返回到當(dāng)前的頁面,通過execcuteResult=“true”來決定是否返回。)控制標(biāo)簽控制標(biāo)簽主要用于完成流程的控制,以及對值棧的相關(guān)操作。控制標(biāo)簽有以下幾個:If:用于控制選擇輸出的標(biāo)簽Elseif:用于控制選擇輸出的標(biāo)簽,必須和if標(biāo)簽結(jié)合使用Else:用于控制選擇輸出的標(biāo)簽,必須和if標(biāo)簽結(jié)合使用Iterato
8、r:用于將集合迭代輸出Append:用于將多個集合拼接成一個新的集合Merge:用于將多個集合拼接成一個新的集合。但與append的拼接方式不同。Generator:用于將一個字符串按指定的分隔符分隔成多個字符串,臨時生成的多個字符串可以使用iterator標(biāo)簽來迭代輸出。Sort:用于對集合進行排序。Subset:用于截取集合的部分元素,形成新的子集合。: Iterator: 標(biāo)簽主要用于對集合進行迭代,這里的集合包含List,set,也可以對Map類型的 對象進行迭代輸出。該標(biāo)簽有如下屬性: Value: 該屬性是可選的,指定被迭代的集合。如果沒有指定該屬性,則使用值棧棧頂?shù)?集合。 Id
9、:該屬性是可選的,指定集合元素的ID Status:該屬性是可選的,指定迭代時的IteratorStatus實例,通過該實例可判斷當(dāng)前迭代元素的屬性,如果指定該屬性,其實例包含如下幾個方法:1.int getCount():返回當(dāng)期迭代了幾個元素。2.int getIndex():返回當(dāng)前迭代元素的索引3.boolean isEven():返回當(dāng)前被迭代元素的索引元素是否是偶數(shù)4.boolean isOdd():返回當(dāng)前被迭代元素的索引元素是否是奇數(shù)5.boolean isFirst():返回當(dāng)前被迭代元素的索引元素是否是首位元素6.boolean isLast():返回當(dāng)前被迭代元素的索引元
10、素是否是最后一個元素Generator: 標(biāo)簽Generator:標(biāo)簽用于將一個字符串按照指定的分隔符成多個子字符串,并將這 些子字符串放入一個集合中。該標(biāo)簽有如下5個屬性:Id:該屬性是可選的,用來指定生成的子字符串組成的集合在上下文棧中名字。Val:該屬性是必需的,用來指定將要分割的字符串。Separator:該屬性的必需的,用來指定分割字符串的分隔符。Count:該屬性可選,用來指定生成集合中元素的總數(shù)。Converter:該屬性是可選的,用來指定將集合中德每一個字符串轉(zhuǎn)換成對象的 轉(zhuǎn)換器。表單標(biāo)簽 表單標(biāo)簽是用來生成表單元數(shù)的,Struts2的表單標(biāo)簽分為兩種,一種是與HTML標(biāo)簽作用
11、相同的標(biāo)簽,另一種是其特有的一些標(biāo)簽。下面先簡單介紹一些魚HTML標(biāo)簽的作用相同的標(biāo)簽: 表3.1 與MTML功能相同的標(biāo)簽 Struts2標(biāo)簽 HTML標(biāo)簽Struts2標(biāo)簽一些通用的屬性: cssClass: 指定表單元素的class屬性 cssStyle: 指定表單元素的css樣式 disabled: 指定表單元素是否可用,若該屬性值為“true”,則該表單元素變灰不可用。label: 指定表單元素的標(biāo)簽labelPosition: 指定表單元素標(biāo)簽的位置。該屬性有“top/left”兩種取值默認為leftname: 指定表單元素提交數(shù)據(jù)的名稱required: 制定表單元素為必填元素,
12、 若指定值為“true”,將在元素的標(biāo)簽后面加“*”符號requiredposition: 定義必填元素的標(biāo)志“*”的位置;size: 指定表單元素的大小tablndex: 指定表單元素用tab切換時的序號title: 指定表單元素的標(biāo)題value: 指定表單元素的值 theme:指定表單的主題樣式。可選值為xhtml,simple,ajax,css_xhtml. 默認值為xhtml. 非表單標(biāo)簽ActionErrorActionMessagefieldError三個標(biāo)簽中,保存值的方法都是一樣,在action類中,通過對應(yīng)的add對應(yīng)方法,輸入保存值就可以保存。在用的時候,只要在jsp頁面中
13、,調(diào)用對應(yīng)的非表單標(biāo)簽,就會輸出對應(yīng)的內(nèi)容。具體使用:ActionError:1.在action類中保存和action有關(guān)的信息。2.在jsp頁面中調(diào)用 標(biāo)簽。ActionMessage:3.在action類中保存和ActionMessage有關(guān)的信息。4.在jsp頁面中調(diào)用 標(biāo)簽。FieldError:使用效果1:1.在action類中保存和fielderror有關(guān)的信息。2.在jsp頁面中調(diào)用 標(biāo)簽(其效果是:輸出在action類中所保存的所有fieldError信息)效果2:1在action類中保存和fielderror有關(guān)的信息。addFieldError(“username”,”Fi
14、eldError中保存的username錯誤”);錯誤對象的名字2.在jsp頁面中調(diào)用 標(biāo)簽,并且使用username指定輸出哪個錯誤對象username效果3:1.在action類中保存和fielderror有關(guān)的信息。addFieldError(“username”,”FieldError中保存的username錯誤”);錯誤對象的名字2.跳轉(zhuǎn)時候,回來一個表單叫做username文本框的頁面。這個時候,錯誤的信息價將會自動分配到對應(yīng)文本框上邊(注意:不是所有的錯誤信息都會自動分配,是必須在action類中添加的”錯誤對象名字”和jsp頁面中的表單里面的name一樣,才會有) 時間類型的轉(zhuǎn)
15、換確認有一個能夠跳轉(zhuǎn)的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應(yīng)用中的輸入校驗大致有以下幾種:在Action類中的處理方法進行校驗,若沒有指定方法就用execute()方法;繼承ActionSuppor
16、t類,并重寫其validate()方法實現(xiàn)輸入校驗。應(yīng)用Struts2的校驗框架進行校驗。攔截器攔截器是對調(diào)用的Action起作用,它提供了一種機制可以使開發(fā)者可以定義在一個action執(zhí)行的前后執(zhí)行的代碼,也可以在一個action執(zhí)行前阻止其執(zhí)行。攔截器的格式 攔截器的配置是在struts.xml中的完成的定義一個攔截器使用標(biāo)簽,攔截器的名字相同 ,后者覆蓋前者 它是包在里面。代碼:如果要應(yīng)用這些攔截器,就需要在配設(shè)置中引用這些攔截器,一個需要應(yīng)用多個攔截器,就不免要有多條引用語句(引用攔截器用標(biāo)簽)攔截器的設(shè)置格式:攔截器或攔截器棧配設(shè)完成后就可以在中對其引用了,一個action引用攔截器
17、或攔截器棧的格式如下:Struts2的攔截器execAadWait: 后執(zhí)行Action,負責(zé)將等待畫面發(fā)送給用戶;exception:這個攔截器負責(zé)處理異常,它將異常映射為結(jié)果;fileUpload: 這個攔截器主要用于文件上傳,它負責(zé)解析表單中文件域的內(nèi)容;i18n: 這是支持國際化的攔截器,它負責(zé)把所選的語言,區(qū)域放入用戶SESSION中;logger:這是一個負責(zé)日志記錄的攔截器,主要是輸出Action的名字;model-driven: 這是一個用于模型的驅(qū)動的攔截器,當(dāng)某個Action類實現(xiàn)了ModeiDriven 接口是,它負責(zé)把getModel()方法的結(jié)果堆入ValueStac
18、k中;Scoped-model-driven: 如果一個Action實現(xiàn)了一個ScopedModeiDriven接口,該攔截器負責(zé)從指定生存范圍中找出指定的Model,并將通過setModel方法將該Model傳給Action實例;Params: 只是一個基本的攔截器,它負責(zé)解析HTTP請求中的參數(shù),并將參數(shù)值設(shè)置為Action對應(yīng)的屬性值。Prepare: 如果action 實現(xiàn)了Preparabel接口,將會調(diào)用該攔截器的prepare()方法;Static-params: 這個攔截器負責(zé)將xml中標(biāo)簽下標(biāo)簽中的參數(shù)傳入action;Scope: 這是范圍轉(zhuǎn)換攔截器,它可以將action狀
19、態(tài)信息保存到httpsession范圍,或者保存到servletContext范圍內(nèi)。Servlet-config:如果某個action需要直接訪問serlvetAPI,可以通過這個攔截器實現(xiàn)roles: 這是一個JAAS(Java Authentication and Authorization Service,java授權(quán)和認證服務(wù))攔截器,只有當(dāng)瀏覽者獲得合適的授權(quán)后,才能調(diào)用被該攔截器攔截的action.timer: 這個攔截器負責(zé)輸出action的執(zhí)行時間,在分析該action的性能瓶頸時比較有用。token:這個攔截器主要用于阻止重復(fù)提交,它檢查傳到action中的token,防止
20、多次提交token-session:這個攔截器的作用與前一個基本類似,只是它把token保存在httpSession中。validation:通過執(zhí)行在xxxAction-validation.xml中定義的校驗器,完成數(shù)據(jù)校驗。workflow:這個攔截器負責(zé)調(diào)用action類中的validate方法,如果校驗失敗,則返回input的邏輯視圖。上傳文件先創(chuàng)建一個會跳轉(zhuǎn)的頁面在首頁面添加代碼如下: Enctype =multipart/form-data 是代表二進制方式進行處理我們的表單數(shù)據(jù)。在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)在的網(wǎng)站項目,只是一個普通的jsp網(wǎng)站項目和struts沒任何關(guān)系由于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已經(jīng)被系統(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)將會運行當(dāng)前選定頁面的項目2、找出項目配文件:web.xml進行項目初始化,(首頁就出來了)3、一點提交, 系統(tǒng)將會將username,password保存起來,怎么保存呢?4、系統(tǒng)發(fā)現(xiàn),你點提交的時候,傳來了一個login1這樣的一個參數(shù),這個參數(shù)將會被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)系上傳者。文件的所有權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年通信設(shè)備采購與維護合同2篇
- 電梯安裝工程2025年度技術(shù)咨詢合同6篇
- 二零二五年度論壇活動策劃服務(wù)合同模板6篇
- 二零二五版搬家服務(wù)及家居清潔維護合同3篇
- 二零二五年度廢鋼市場供應(yīng)與環(huán)保處理服務(wù)合同3篇
- 二零二五版房屋買賣及鄰里關(guān)系協(xié)調(diào)服務(wù)合同3篇
- 二零二五年度股東干股合作企業(yè)社會責(zé)任履行合同3篇
- 幼兒園2025年度食品供應(yīng)合同2篇
- 二零二五版租賃房屋改造裝修合同3篇
- 二零二五年酒店股權(quán)分割與資產(chǎn)重組咨詢合同3篇
- 2023社會責(zé)任報告培訓(xùn)講稿
- 2023核電廠常規(guī)島及輔助配套設(shè)施建設(shè)施工技術(shù)規(guī)范 第8部分 保溫及油漆
- 2025年蛇年春聯(lián)帶橫批-蛇年對聯(lián)大全新春對聯(lián)集錦
- 表B. 0 .11工程款支付報審表
- 警務(wù)航空無人機考試題庫及答案
- 空氣自動站儀器運營維護項目操作說明以及簡單故障處理
- 新生兒窒息復(fù)蘇正壓通氣課件
- 法律顧問投標(biāo)書
- 班主任培訓(xùn)簡報4篇(一)
- 成都市數(shù)學(xué)八年級上冊期末試卷含答案
- T-CHSA 020-2023 上頜骨缺損手術(shù)功能修復(fù)重建的專家共識
評論
0/150
提交評論