版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單元8基于Spring的Web應(yīng)用
程序開發(fā)【問題探析】【問題1】使用實(shí)例解釋“依賴注入”?!締栴}2】AOP(面向切面編程)與OOP(面向?qū)ο缶幊蹋?/p>
有何區(qū)別與關(guān)系?【知識必備】1.Spring概述Spring是一個(gè)為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的開源框架,由RodJohnson創(chuàng)建。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益?!局R必備】2.Spring框架的組成模塊Spring框架由七個(gè)定義明確的模塊組成,如圖8-2所示。(1)SpringCore模塊(2)SpringContext(應(yīng)用上下文)模塊(3)SpringAOP模塊(4)SpringDAO模塊(5)SpringORM(對象/關(guān)系映射)集成模塊(6)SpringWeb模塊(7)SpringMVC框架。【知識必備】3.BeanFactory與ApplicationContext的比較Spring的IoC容器就是一個(gè)實(shí)現(xiàn)了BeanFactory接口的可實(shí)例化類。事實(shí)上,Spring提供了兩種不同的容器:一種是最基本的BeanFactory,另一種是擴(kuò)展的ApplicationContext。BeanFactory僅提供了最基本的依賴注入支持,而ApplicationContext則擴(kuò)展了BeanFactory,提供了更多的額外功能?!局R必備】3.BeanFactory與ApplicationContext的比較
BeanFactory(com.springframework.beans.factory.BeanFactory)是Spring框架最核心的接口,它提供了高級IoC的配置機(jī)制。ApplicationContext(com.springframework.context.ApplicationContext)建立在BeanFactory基礎(chǔ)之上。幾乎所有的應(yīng)用場合我們都直接使用ApplicationContext而非底層的BeanFactory。【知識必備】4.SpringIoCSpring框架中的各個(gè)部分充分使用了依賴注入(Dependencyinjection)技術(shù),使代碼中不再有單實(shí)例垃圾和麻煩的屬性文件,取而代之的是一致和優(yōu)雅的程序代碼。Dependencyinjection是一個(gè)將行為從依賴中分離的技術(shù),簡單地說,它允許編程者定義一個(gè)方法函數(shù)依賴于外部其他各種交互,而不需要編碼如何獲得這些外部交互的實(shí)例。這樣就在各種組件之間解耦,從而獲得干凈的代碼,相比依賴的硬編碼,一個(gè)組件只有在運(yùn)行時(shí)才調(diào)用其所需要的其他組件,因此在代碼運(yùn)行時(shí),通過特定的框架或容器,將其所需要的其他依賴組件進(jìn)行注入,即為主動(dòng)推入。【知識必備】4.SpringIoC
依賴注入有如下3種實(shí)現(xiàn)方式,Spring支持后兩種。(1)接口注入(2)Setter注入(3)構(gòu)造器注入【知識必備】5.SpringAOPAOP(AspectOrientedProgramming,面向切面編程)為我們帶來了新的想法、新的思想和新的模式。AOP是一個(gè)概念、一個(gè)規(guī)范,本身并沒有設(shè)定具體語言的實(shí)現(xiàn),這實(shí)際上提供了非常廣闊的發(fā)展空間。SpringAOP是繼SpringIoC之后的Spring框架的又一特性,也是該框架的核心內(nèi)容。SpringAOP建立在Java的代理機(jī)制之上,Spring框架已經(jīng)基本實(shí)現(xiàn)了AOP的思想,SpringAOP的接口實(shí)現(xiàn)了AOP聯(lián)盟定制的標(biāo)準(zhǔn)化接口,這就意味著它已經(jīng)走向了標(biāo)準(zhǔn)化,在眾多的AOP實(shí)現(xiàn)技術(shù)中,SpringAOP最為成熟。【操作必備】(1)下載與配置SpringSpring官方網(wǎng)站的網(wǎng)址是,在該網(wǎng)站上可以獲取Spring的最新版本的Jar包以及幫助文檔,本書所使用的Spring開發(fā)包為spring3.1.1版本。(2)下載并安裝好數(shù)據(jù)庫管理系統(tǒng)SQLServer2008。(3)在MicrosoftSQLServer2008中創(chuàng)建數(shù)據(jù)庫ECommerce,并在該數(shù)據(jù)庫中創(chuàng)建“商品數(shù)據(jù)表”、“商品類型表”和“用戶表”。(4)從網(wǎng)上下載Servlet支持類庫servlet-api.jar、JDBC支持類庫sqljdbc4.jar和Hibernate支持類庫的jar包。(5)準(zhǔn)備開發(fā)Web應(yīng)用程序所需的圖片文件、CSS樣式文件和驗(yàn)證用的Javascript文件?!静僮鞅貍洹浚?)啟動(dòng)Eclipse,設(shè)置工作空間為Unit08,然后進(jìn)入Eclipse的開發(fā)環(huán)境。(7)在Eclipse集成開發(fā)環(huán)境中配置與啟動(dòng)Tomcat服務(wù)器。(8)新建動(dòng)態(tài)Web項(xiàng)目,命名為task8-X,本單元有6個(gè)任務(wù),每個(gè)任務(wù)創(chuàng)建一個(gè)獨(dú)立的Web項(xiàng)目,命名分別為task8-1至task8-6。(9)在Web項(xiàng)目中創(chuàng)建包,將其命名為“package08X”,本單元各個(gè)Web項(xiàng)目中的包分別命名為package081至package086。(10)將Jar包文件servlet-api.jar和sqljdbc4.jar拷貝到各個(gè)Web項(xiàng)目的文件夾“WebContent\WEB-INF\lib”下,并在Eclipse集成開發(fā)環(huán)境的“項(xiàng)目資源管理器”刷新各個(gè)Web項(xiàng)目?!净A(chǔ)應(yīng)用】【任務(wù)8-1】BeanFactory與ApplicationContext的應(yīng)用【任務(wù)描述】(1)創(chuàng)建用戶的JavaBean,將其命名為“UserInfo”。(2)創(chuàng)建Spring的配置文件applicationContext.xml,在該配置文件中為JavaBean的屬性賦值。(3)使用BeanFactory加載JavaBean的配置,獲取JavaBean,并輸出其屬性值。(4)使用ApplicationContext加載JavaBean的配置,獲取JavaBean,并輸出其屬性值?!救蝿?wù)實(shí)施】1.配置程序開發(fā)環(huán)境2.創(chuàng)建用戶實(shí)體類文件UserInfo.java3.創(chuàng)建Spring的配置文件applicationContext.xml4.創(chuàng)建Servlet類UserServlet8_115.創(chuàng)建Servlet類UserServlet8_126.創(chuàng)建JSP頁面task8-11.jsp7.創(chuàng)建JSP頁面task8-12.jsp8.運(yùn)行程序輸出結(jié)果【基礎(chǔ)應(yīng)用】【任務(wù)8-2】使用JdbcTemplate類在商品
數(shù)據(jù)表中查詢數(shù)據(jù)【任務(wù)描述】JdbcTemplate類是Spring的核心類之一,該類在內(nèi)部已經(jīng)處理數(shù)據(jù)庫資源的建立和釋放,并可以避免一些常見的錯(cuò)誤,簡化了編寫JDBC時(shí)所需的基礎(chǔ)代碼。JdbcTemplate類可以直接通過數(shù)據(jù)源的引用實(shí)例化,然后在服務(wù)中使用。使用JdbcTemplate類在商品數(shù)據(jù)表中查詢數(shù)據(jù)?!救蝿?wù)實(shí)施】1.配置程序開發(fā)環(huán)境2.創(chuàng)建商品實(shí)體類文件GoodsInfo.java3.創(chuàng)建類文件GoodsInfoDao.java4.創(chuàng)建Spring的配置文件applicationContext.xml5.創(chuàng)建Servlet類GetInfoServlet6.創(chuàng)建JSP頁面printInfo.jsp7.創(chuàng)建JSP頁面task8-2.jsp8.運(yùn)行程序輸出結(jié)果【基礎(chǔ)應(yīng)用】【任務(wù)8-3】在Spring中利用DAO模式向
商品數(shù)據(jù)表添加數(shù)據(jù)【任務(wù)描述】
數(shù)據(jù)源對象DataSource主要用于操作數(shù)據(jù)庫,通過它可以建立與數(shù)據(jù)庫的連接,該數(shù)據(jù)源對象在Spring中提供了javax.sql.DataSource接口的實(shí)現(xiàn),只需在Spring的配置文件中進(jìn)行相關(guān)的配置即可。利用DAO(DataAccessObject,數(shù)據(jù)訪問對象)模式向商品數(shù)據(jù)表添加數(shù)據(jù)。【任務(wù)實(shí)施】1.配置程序開發(fā)環(huán)境2.創(chuàng)建商品實(shí)體類文件GoodsInfo.java3.創(chuàng)建類文件GoodsInfoDao.java4.創(chuàng)建Spring的配置文件applicationContext.xml5.創(chuàng)建JSP頁面AddGoodsInfo.jsp6.創(chuàng)建JSP頁面task8-3.jsp7.運(yùn)行程序輸出結(jié)果【漸進(jìn)應(yīng)用】【任務(wù)8-4】應(yīng)用SpringAOP的表單控制器驗(yàn)證用戶登錄【任務(wù)描述】
表單在網(wǎng)頁中有著非常重要的地位,在與用戶交互時(shí)可以起到采集數(shù)據(jù)的作用。在SpringMVC中提供了表單控制器(SimpleFormController)來獲取表單中的信息。只要把頁中表單元素與JavaBean中的屬性設(shè)置為相同的名稱,表單控制器就會(huì)將表單中的數(shù)據(jù)封閉成一個(gè)JavaBean對象。通過擴(kuò)展SimpleFormController類并重寫該類的onSubmit()方法,可以實(shí)現(xiàn)自定義的表單控制器,當(dāng)表單被提交時(shí)會(huì)執(zhí)行onSubmit()方法。應(yīng)用SpringAOP的表單控制器驗(yàn)證用戶登錄?!救蝿?wù)實(shí)施】1.配置程序開發(fā)環(huán)境2.創(chuàng)建用戶實(shí)體類文件UserInfo.java3.創(chuàng)建控制器類UserLoginController4.創(chuàng)建Spring的配置文件applicationContext.xml5.創(chuàng)建與配置web.xml文件6.創(chuàng)建JSP頁面login8-4.jsp7.創(chuàng)建JSP頁面message.jsp8.創(chuàng)建頁面userLogin.html9.運(yùn)行程序輸出結(jié)果【漸進(jìn)應(yīng)用】【任務(wù)8-5】應(yīng)用JdbcTemplate實(shí)現(xiàn)用戶注冊功能【任務(wù)描述】JdbcTemplate類是Spring的核心類之一,該類提供了接口來方便訪問和處理數(shù)據(jù)庫中的數(shù)據(jù),這些方法提供了基本的選項(xiàng)用于執(zhí)行查詢和更新數(shù)據(jù)庫操作。
JdbcTemplate類實(shí)現(xiàn)了很多方法的重載特征,更新數(shù)據(jù)的常用方法是update(String)。應(yīng)用JdbcTemplate實(shí)現(xiàn)用戶注冊功能?!救蝿?wù)實(shí)施】1.配置程序開發(fā)環(huán)境2.創(chuàng)建用戶實(shí)體類文件UserInfo.java3.創(chuàng)建類文件UserDao.java4.創(chuàng)建Spring的配置文件applicationContext.xml5.創(chuàng)建JSP頁面save8-5.jsp6.創(chuàng)建JSP頁面register8-5.jsp7.運(yùn)行程序輸出結(jié)果【典型應(yīng)用】【任務(wù)8-6】整合Spring與Hibernate操作商品數(shù)據(jù)表【任務(wù)描述】
JdbcTemplate只是Spring對JDBC所做的簡單封裝,雖然可以實(shí)現(xiàn)對數(shù)據(jù)庫的操作,但并不支持?jǐn)?shù)據(jù)庫連接池和緩存技術(shù),所以在實(shí)際開發(fā)使用較少,其主要用途是對程序進(jìn)行測試。Hibernate是當(dāng)前非常流行的持久層框架,可以使用Spring整合Hibernate對數(shù)據(jù)庫進(jìn)行基本操作。整合Spring與Hibernate實(shí)現(xiàn)商品數(shù)據(jù)表中數(shù)據(jù)的顯示、修改和刪除操作?!救蝿?wù)實(shí)施】1.配置程序開發(fā)環(huán)境2.創(chuàng)建商品實(shí)體類文件GoodsInfo.java3.創(chuàng)建商品實(shí)體對象的映射文件goods.hbm.xml4.創(chuàng)建類文件GoodsInfoDao.java5.創(chuàng)建屬性文件perties6.創(chuàng)建Spring的配置文件applicationContext.xml7.創(chuàng)建Servlet類GoodsInfoServlet8.創(chuàng)建類CharacterEncodingFilter9.創(chuàng)建JSP頁面showInfo.jsp10.創(chuàng)建JSP頁面updateInfo.jsp11.創(chuàng)建JSP頁面task8-6.jsp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度集合大合集人員管理篇
- 單位管理制度匯編大合集人力資源管理
- 《家具導(dǎo)購圣經(jīng)》課件
- 單位管理制度分享匯編職員管理篇十篇
- 單位管理制度分享大全職工管理十篇
- 2024教科室工作計(jì)劃
- 單位管理制度呈現(xiàn)合集職工管理篇十篇
- 《投資管理復(fù)習(xí)》課件
- 《市場考察報(bào)告》課件
- 《廣告效果的測定》課件
- 西安信息職業(yè)大學(xué)《工程管理導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江省杭州市拱墅區(qū)2023-2024學(xué)年六年級(上)期末數(shù)學(xué)試卷
- 突發(fā)事件及自救互救學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 期末質(zhì)量評價(jià)(試題)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版
- 生產(chǎn)與運(yùn)作管理第5版配套教材電子課件(完整版)
- 偉大的《紅樓夢》智慧樹知到期末考試答案章節(jié)答案2024年北京大學(xué)
- 凈水廠課程設(shè)計(jì)
- (完整版)八年級上綜合性學(xué)習(xí)-我們的互聯(lián)網(wǎng)時(shí)代-練習(xí)卷(含答案)
- 地災(zāi)治理全套表格
- 2021國家開放大學(xué)電大本科《流行病學(xué)》期末試題及答案
- 中國銀行_境外匯款申請表模板(練手)
評論
0/150
提交評論