![入門第1講-SSH基礎(預習資料)課件_第1頁](http://file4.renrendoc.com/view/c3d65b59f0dcfe068b3540a224aee1d8/c3d65b59f0dcfe068b3540a224aee1d81.gif)
![入門第1講-SSH基礎(預習資料)課件_第2頁](http://file4.renrendoc.com/view/c3d65b59f0dcfe068b3540a224aee1d8/c3d65b59f0dcfe068b3540a224aee1d82.gif)
![入門第1講-SSH基礎(預習資料)課件_第3頁](http://file4.renrendoc.com/view/c3d65b59f0dcfe068b3540a224aee1d8/c3d65b59f0dcfe068b3540a224aee1d83.gif)
![入門第1講-SSH基礎(預習資料)課件_第4頁](http://file4.renrendoc.com/view/c3d65b59f0dcfe068b3540a224aee1d8/c3d65b59f0dcfe068b3540a224aee1d84.gif)
![入門第1講-SSH基礎(預習資料)課件_第5頁](http://file4.renrendoc.com/view/c3d65b59f0dcfe068b3540a224aee1d8/c3d65b59f0dcfe068b3540a224aee1d85.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Struts2SpringHibernate入門第1講主講:黃錫波是最辛苦的一門課SSH框架技術是兩年課程的大集成、大總結是真正開發(fā)企業(yè)級的J2EE網站的技術是最辛苦的一門課,大家要有思想準備理由:必要內容太多,90學時僅可講完基礎辛苦1:實訓多,每周有任務卡。辛苦2:測驗多,每周有測驗。辛苦3:考勤嚴,每次課需電子簽到(SSH簽到網站)。辛苦4:課前要預習,預習是學本事最好方法。辛苦5:以項目為導向,課程結束就拿自做項目面試。辛苦6:SSH不難,難的是靈活應用兩年課程知識點。辛苦7:就好業(yè)壓力大,全力以赴才行,也許搭上周六日。辛苦8:枯燥,學本事需要自律。辛苦9:寂寞,學本事需要定力。辛苦1
2、0:無聊,調式Bug,錯誤信息也許比源程序還長且是英文的,學本事需要耐力。 。是最辛苦的一門課所謂項目導向,是學習軟件技術唯一的方法,就是為做項目而學習技術。為學技術而學技術,一定學不到的。項目功能1功能2功能n思路1:項目=n個功能的集合,項目大小是指開發(fā)時間的長短而已,10天開發(fā)1個功能,100天也許就有10個功能了,有10個功能的項目不算小了。因此,邊學SSH,邊改造你原來的小網站,是最快的學習方法,到課程結束,你基本就能開發(fā)有10個功能的網站了。思路2:你開發(fā)的網站拿去面試,就說明你有基本的項目經驗了。思路3:教材的案例很不錯的,多閱讀,用來參考開發(fā)你自己的網站。思路4:QQ群有幾個有
3、源代碼的項目案例,多分析參考開發(fā)自己的網站。思路5:很多人說我不知道開發(fā)什么項目,我的觀點是你真的用心學習的話就一定懂的,如小的不得了“SSH上課簽到”,“SSH成績查詢”,“SSH播放視頻”等小網站,小功能開發(fā)的多了就是一個大項目。在企業(yè)也是一個一個功能開發(fā)的,過半年就是一個大網站了。回顧 - 何謂動態(tài)網頁?所謂“動態(tài)”,并不是指那幾個放在網頁上的GIF,Flash等動畫,動態(tài)網頁技術有以下幾個特點:1,“交互性”即網頁會根據(jù)用戶的要求和選擇而動態(tài)改變和響應,將瀏覽器作為客戶端界面。2,“自動更新”即無須手動地更新HTML文檔,便會自動生成新的頁面,可以大大節(jié)省工作量。3,“因時因人而變”,
4、即當不同的時間,不同的人訪問同一網址時會產生不同的頁面。目前主流的動態(tài)網頁技術有JSP,ASP,PHP等。動態(tài)網頁的核心技術是:(1)前臺如何動態(tài)地獲取后臺數(shù)據(jù)?(2)前臺提交數(shù)據(jù)時,后臺如何正確地捕獲?其實JSP,ASP,PHP三門技術在核心技術的應用上是非常非常類似的,懂JSP,再學習PHP,ASP不會超過一個月,反過來就難了(Java語言最少一年的編程經歷)。Web技術的發(fā)展Java程序設計 -學期1數(shù)據(jù)結構 -學期2計算機網絡技術-學期3網絡編程技術 -學期3動態(tài)Web技術 -學期4SQL -學期2SSH -學期5軟件測試技術 -學期5HTML/CSS -學期3Flash動畫 -學期3
5、計算機圖形圖像-學期4JavaScript -學期4富客戶技術 -學期4/5Struts2(OGNL) 學期5軟件測試技術 -學期5Model1與Model2Model1整個web應用幾乎全部由JSP頁面組成,JSP頁面接受處理客戶端請求,對請求處理后直接做出響應。用少量javaBean來處理數(shù)據(jù)庫連接等操作MVCMVC并不是java語言所特有的設計思想,它是所有面向對象程序設計語言都應該遵守的規(guī)范Model(模型)、View(視圖)、Controller(控制器)這三個部分以最少的耦合協(xié)同工作,以提高應用的可擴展性及可維護性Struts2簡介Struts 2以WebWork為核心,采用攔截器
6、的機制來處理用戶的請求,這樣的設計也使得業(yè)務邏輯控制器能夠與Servlet API完全脫離開,所以Struts 2可以理解為WebWork的更新產品Struts2體系概圖搭建Struts2開發(fā)環(huán)境導入相關jar文件編寫Struts2的配置文件在web.xml中加入Struts2框架的啟動配置Struts2常用jar包不同應用需要的jar包是不同的,開發(fā)struts2程序需要的jar至少應具備以下jar包:Struts2-core-2.x.x.jar:struts2框架核心類庫Xwork-2.x.x.jar:xwork類庫Struts2在其上構建Ognl-2.6.x.jar:對象導航語言,用來讀
7、寫對象的屬性Freemarker-2.3.x.jar:Struts2UI標簽Commons-logging-1.1.x.jar:日志記錄功能jarCommons-fileupload-1.2.1.jar:文件上傳組件commons-io-1.3.2.jar:文件上傳組件Struts2在web中的啟動配置Struts1中,struts框架是通過servlet啟動的。在struts2中,struts框架是通過Filter啟動的 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2
8、/*StrutsPrepareAndExecuteFilter中init方法讀取struts.xml完成初始化;讀取struts.xml后,以javaBean的形式保存在內存中,處理用戶請求時不是每次都讀取web.xmlStruts2第一個應用hello world在struts.xml中加入如下配置 /WEB-INF/hello.jsp *package:與java包的功能類似,通常一組業(yè)務功能相關的action放在同一包下;其中name屬性為自定義,主要用于action的繼承;namespace與action的name屬性組合在一起作為訪問該包下action的一部分,可以缺省; strut
9、s-default是struts2的核心包,定義了struts2的核心功能,通常情況下都要繼承該包Struts2處理流程1.瀏覽器發(fā)送請求2.核心控制器FileterDispatcher根據(jù)請求決定調用合適的Action3.WebWork的攔截器鏈自動對請求應用通用功能,如validaton等4.回調Action的execute方法5.Action的execute方法處理結果信息被輸出到瀏覽器中一個簡單的提交功能一個簡單的提交功能實現(xiàn)控制器Actionpublic class LoginAction private String username;private String pwd;publ
10、ic String execute() if(blues.equals(this.getUsername() & 8888.equals(this.getPwd()return success; else return error; 配置Action上面應用處理流程跟蹤用戶狀態(tài)Struts2中訪問HttpSession使用ActionContext類,該類提供一個getSession方法,但該方法返回一個Map。為的是將Action類與ServletAPI完全分離,來簡化Action類的測試。但是Struts2的系列攔截器會負責該Session和HttpSession之間的轉換ActionCo
11、ntext類介紹增加數(shù)據(jù)校驗ActionSupport類是一個工具類,它已經實現(xiàn)了Action接口以及Validateable接口,提供了數(shù)據(jù)校驗功能。通過繼承該類,來完成數(shù)據(jù)校驗功能配置input視圖使用struts2標簽輸出驗證錯誤信息其他驗證使用struts2驗證框架 *注意:該文件命名應遵守以下規(guī)則: 1.ActionName-validation:ActionName就是需要校驗的Action類名 2.該文件與Action類放在同一目錄下Struts2包配置詳解 /welcome.jsp必填,該名字是被其它包引用時的KEY可選,定義該包命名空間,用以區(qū)分同名Action可選,包指定繼
12、承的包,可繼承Action、攔截器等Action對應的URL搜索順序如果struts配置文件中只配置了名空間為/test的package,action的name屬性為hello,那么該action的url為:http:/localhost:8080/Struts/test/hello 但是如下路徑也可以訪問: http:/localhost:8080/Struts/test/12/23/hello http:/localhost:8080/Struts/test/ss/bb/cc/hello 搜索會按照逐級向上的順序搜索直到找到匹配的Action對應的URL搜索順序如果對應的namespace
13、中沒有指定的action,它會去沒有指定namespace的值或者namespace值為”的包去找,如果還找不到則報錯Action配置中的各項默認值/WEB-INF/hello.jsp 1.如果沒指定class,默認為ActionSupport2.如果沒指定method,默認執(zhí)行action中execute()方法3.如果沒指定result的name屬性,默認值為success配置文件的包含Strust2視圖轉發(fā)流程Struts2支持的結果類型在struts-default.xml文件及struts-plugin.xml中:結果類型說明Action中result的轉發(fā)類型RedirectRed
14、irect:與dispatcher結果類型相對,dispatcher是將請求Forward到指定的視圖資源,而redirect意味將請求重定向到指定視圖資源特點:會丟失所有的請求參數(shù)、請求屬性以及Action的處理結果Action中result的轉發(fā)類型RedirectAction中result的轉發(fā)類型Redirect-Action該結果類型與redirect相似,也是重定向。二者的區(qū)別:Redirect通常用于生成一個對具體資源的請求Redirect-Action通常用于生成一個對其他Action的請求二者的相同點:都是重新生成一個新請求都會丟失請求參數(shù)、請求屬性和前一個Action的處理
15、結果動態(tài)結果這個Action可以處理所有匹配crud_*.action模式的請求,如當有一個crud_create.action請求時,系統(tǒng)會調用lee.CrudAction類的create方法來處理用戶請求,當請求結果為input字符串時,跳轉input.jsp頁面;當請求結果為success時,將轉入create.jsp頁面Action中result的轉發(fā)類型Chain:主要用于把相關的幾個action連接起來,共同完成一個功能,被跳轉的action中仍能獲取上個頁面的值,如request信息 step2.action finish.jsp 全局結果如果Action里包含與全局結果里同名的
16、結果,則Action的局部結果覆蓋全局。只有在Action里的局部結果里找不到相應轉發(fā)視圖,才會去全局結果中找使用模型驅動使用單獨的JavaBean實例來貫穿整個MVC流程;驅動類型:模型驅動:使用單獨的VO(值對象)來封裝請求參數(shù)和處理結果屬性驅動:使用Action示例中的屬性來封裝聲明式異常捕捉Struts2的異常處理機制是通過在配置文件中配置元素來完成的,該元素需要制定兩個屬性:Exception:此屬性指定映射的異常類型Result:指出現(xiàn)該異常時,系統(tǒng)轉入result所指向的結果注:該標簽分為全局與局部映射,其作用與result的全局和局部一致Struts2類型轉換對于B/S結構的應
17、用而言,用戶通過瀏覽器輸入的數(shù)據(jù)不可能擁有多種數(shù)據(jù)類型,這就需要完成由字符串向多種數(shù)據(jù)類型的轉換工作類型轉換分類:局部類型轉換只對指定Action的指定屬性生效全局類型轉換對指定類型的全部屬性都有效Struts2內建的類型轉換器類型轉換錯誤處理Struts2提供一個conversionError的攔截器(該攔截器在struts-default.xml配置),如果Struts2的類型轉換器在類型轉換時出現(xiàn)錯誤,該攔截器將負責將對應錯誤封裝成表單域錯誤(fieldError),并將這些錯誤信息放入ActionContext中類型轉換的錯誤處理流程Struts2的核心攔截器當請求到達Struts 2
18、的ServletDispatcher時,Struts 2會查找配置文件,并根據(jù)其配置實例化相對的攔截器對象,然后串成一個列表(list),最后一個一個地調用列表中的攔截器文件上傳和下載上傳1.加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar2.把form表單的enctype設置為:” multipart/form-data”,method設置為post3.在Action中添加屬性Private File file/該屬性與控件名稱一致添加代碼:FileUtils.copyFile(srcFile, destFile);限制文件上傳大小及類型 /upload/result.jsp text/plain1024 文件下載在Action中將下載文件轉換為輸出流public InputStream getDownLoadFile() return ServletActionContext.getServletContext().getResourceAsStream(“文件路徑);文件下載 設置文件mime-type filenam
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年車輛維護保養(yǎng)服務協(xié)議
- 2025年合作苗木種植協(xié)議
- 2025年企業(yè)寫字間合租合同范文樣式
- 2025版單身無子女撫養(yǎng)策劃協(xié)議
- 2025年業(yè)主與物業(yè)服務方改善協(xié)議
- 2025年無子女夫妻財產分割離婚協(xié)議
- 2025年農產品購銷與配送協(xié)議標準范本
- 2025年兼職家教服務合同樣本
- 2025年高等教育圖書館合作供應合同協(xié)議
- 2025年企業(yè)中心內部產品交換協(xié)議書
- 室內裝飾拆除專項施工方案
- 醫(yī)院院外會診申請單、醫(yī)師外出會診審核表、醫(yī)師外出會診回執(zhí)
- 鋼筋工程精細化管理指南(中建內部)
- 核酸的分離與純化技術
- 2024年山西省高考考前適應性測試 (一模)英語試卷(含答案詳解)
- 教科版六年級下冊科學第三單元《宇宙》教材分析及全部教案(定稿;共7課時)
- 2024年中國鐵路投資集團有限公司招聘筆試參考題庫含答案解析
- 干部人事檔案數(shù)字化 制度
- 經營開發(fā)部工作目標責任書
- 小班繪本教學《藏在哪里了》課件
- 滄州師范學院學士學位論文寫作指南2020版
評論
0/150
提交評論