struct1
struct出現(xiàn)原因:Struts的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間,并不是說提高了運(yùn)行效率,反而降低了,因?yàn)橐郧耙粋€(gè)servlet類就是一個(gè)action,其他不變,但struct多了一個(gè)總控制器ActionServlet和其他配置文件。但使用struct可以提高系統(tǒng)的維護(hù)和開發(fā)效率,我們只需要弄action和actionForm就可以了。
servlet執(zhí)行過程:以前servlet每個(gè)頁面都設(shè)置一個(gè)servleet類來處理請求和響應(yīng),再獲取用戶提交的數(shù)據(jù)和再把數(shù)據(jù)與持久化類對應(yīng)起來。再做判斷,決定跳轉(zhuǎn),再讓jsp顯示。
struct執(zhí)行過程:使用struct時(shí),通過運(yùn)行時(shí)初始化ActionServlet,再把各個(gè)持久化類各個(gè)屬性值設(shè)為null,當(dāng)有請求來時(shí),通過name屬性找form-beans中的form-bean的name屬性得到ActionForm的包名類名,先實(shí)例化form,,把用戶數(shù)據(jù)提交給它,調(diào)用form的validate方法驗(yàn)證、ActionErrors返回null表示驗(yàn)證通過,否則失敗返回,驗(yàn)證通過會根據(jù)請求的action類型,實(shí)例化Action,執(zhí)行Action的execute方法,根據(jù)傳進(jìn)來的actionForm持久化對象可以取到傳進(jìn)來的數(shù)據(jù),數(shù)據(jù)可以和數(shù)據(jù)庫中的數(shù)據(jù)交互,再決定跳轉(zhuǎn)。也就是說struct封裝了用rquest.getParameter(),再把數(shù)據(jù)傳給javabean持久化類。關(guān)鍵是struct彌補(bǔ)了jsp標(biāo)簽的不足,Taglib和頁面導(dǎo)航。
struct常用的標(biāo)簽庫
bean:可以訪問已經(jīng)存在的JavaBean以及它們的屬性,還可以定義新的Bean,把它存放在用戶指定的任何范圍內(nèi),供網(wǎng)頁或者其它元素訪問
用于訪問HTTP請求信息或者JSP隱含對象的Bean標(biāo)簽
用于訪問Web應(yīng)用資源的Bean標(biāo)簽
用于定義或者輸出JavaBean的Bean標(biāo)簽
html:標(biāo)簽庫可以和標(biāo)準(zhǔn)的HTML標(biāo)記完成相同的功能
用于生成基本的HTML的標(biāo)簽
用于生成HTML表單的標(biāo)簽
顯示錯(cuò)誤或者正常消息的標(biāo)簽
logic:可以根據(jù)特定的邏輯條件來控制輸出頁面的內(nèi)容,或者循環(huán)遍歷集合中所有的元素
進(jìn)行比較運(yùn)算的Logic標(biāo)簽
進(jìn)行字符串匹配的Logic標(biāo)簽
判斷指定內(nèi)容是否存在的Logic標(biāo)簽
進(jìn)行循環(huán)遍歷的Logic標(biāo)簽
進(jìn)行請求轉(zhuǎn)發(fā)或者重定向的Logic標(biāo)簽
準(zhǔn)備:
1 客戶端jsp使用Struct標(biāo)簽庫輸入與輸出端
2 web配置文件
3 struct1 配置文件
4 操作類
總結(jié)
- 上一篇: matlab读取struct数据结构,m
- 下一篇: Mapstruct详细使用说明