基于Spring的Web應(yīng)用程序開發(fā)_第1頁
基于Spring的Web應(yīng)用程序開發(fā)_第2頁
基于Spring的Web應(yīng)用程序開發(fā)_第3頁
基于Spring的Web應(yīng)用程序開發(fā)_第4頁
基于Spring的Web應(yīng)用程序開發(fā)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論