SSH-三大框架介紹_第1頁
SSH-三大框架介紹_第2頁
SSH-三大框架介紹_第3頁
SSH-三大框架介紹_第4頁
SSH-三大框架介紹_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

SSH

框架

介紹培訓(xùn)目標(biāo)SSH基本概念認(rèn)識框架認(rèn)識SSH框架開發(fā)入門認(rèn)識框架

大奔先生汽車之父和奔馳汽車奔馳汽車KarlFriedrichBenz汽車基本結(jié)構(gòu)就是一個框架底盤車身發(fā)動機(jī)電氣設(shè)備保時捷飛機(jī)汽車水上汽車框架是什么?框架是前輩們多年以來總結(jié)出的一些開發(fā)標(biāo)準(zhǔn);讓后輩可以以成功的經(jīng)驗?zāi)J絹黹_發(fā)自已的系統(tǒng)。使用優(yōu)秀框架的好處易于開發(fā):框架對底層的API進(jìn)行了封裝,開發(fā)者不需要直接接觸底層的API,只需要寫一些必須的代碼。結(jié)構(gòu)清晰:清晰的結(jié)構(gòu)使得各模塊功能明確,更易于閱讀,從而使其他開發(fā)者能夠更快加入,也降低了后期維護(hù)成本。易于測試:采用成功的框架的代碼比自己的代碼容易測試??s短周期:采用成功的框架能縮短項目的設(shè)計、開發(fā)周期。Struts2

SpringMVCHibernateSpring頁面展示管理數(shù)據(jù)庫MyBatis認(rèn)識SSH框架

SpringMVCHibernateSpringSSHJava文件結(jié)構(gòu)數(shù)據(jù)庫連接、SQL語句SSH各部分技術(shù)負(fù)責(zé)工作JSP文件結(jié)構(gòu)HTML跳轉(zhuǎn)Java文件結(jié)構(gòu)業(yè)務(wù)邏輯代碼Servlet文件結(jié)構(gòu)頁面邏輯HibernateSpringMVCJavaBeanSpring管理認(rèn)識SpringMVC

什么是MVC

電視節(jié)目電視信號電視機(jī)ModelView1ControllerView2View3模型控制視圖是一種軟件設(shè)計典范,通過業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法來組織代碼什么是SpringMVC?SpringMVC是一個典型的教科書式的MVC框架,作用是為了幫助我們減少在運(yùn)用MVC設(shè)計模型來開發(fā)Web應(yīng)用的時間。即簡化WEB前端開發(fā)的工具。同類競爭對手

Struts2SpringMVC工作原理認(rèn)識Hibernate

什么是Hibernate?Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。即把對象操作轉(zhuǎn)成SQL語句同類競爭對手

MybatisHibernate原理Java應(yīng)用程序Hibernate持久化對象JNDIJDBC數(shù)據(jù)庫SQLJava應(yīng)用程序直接對持久化對象作增、刪、改、查操作。Hibernate會把這些操作解釋成SQL語句。通過JNDI、JDBC提交SQL到數(shù)據(jù)庫。123Hibernate的優(yōu)點對象/關(guān)系數(shù)據(jù)庫映射(ORM),簡化了DAO層編碼工作,使開發(fā)更對象化了支持透明持久化(TransparentPersistent)它沒有侵入性,即所謂的輕量級框架移植性會很好,能支持不同類型的數(shù)據(jù)庫系統(tǒng)緩存機(jī)制,提供一級緩存和二級緩存認(rèn)識Spring

什么是Spring?Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,創(chuàng)建的目的是解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性。什么是IOC?控制反轉(zhuǎn)(InversionofControl,英文縮寫為IoC)是一個重要的面向?qū)ο缶幊痰姆▌t來削減計算機(jī)程序的耦合問題??刂品崔D(zhuǎn)還有一個名字叫做依賴注入(DependencyInjection),簡稱DI。一個生活中的IOC例子何金水在某家公司任職,老板要求他負(fù)責(zé)公司職員日常的飲水問題。老板對金水可以有兩種形式的要求:

第一種是必須只能購買A公司的水。第二種是只要有水喝就行不管哪家都行。

如果是第一種情況,那么當(dāng)金水發(fā)現(xiàn)不能在和A公司合作而想轉(zhuǎn)向購買B公司的水的時候,金水必須要做的一件事情是向老板請示并且征得其同意方可更改賣主。如果是第二種情況,則金水完全不用關(guān)心老板的意見就可以決定并且控制這個更改。

老板只對金水提出一個接口要求那就是水,至于從什么地方來,這個過程的更改控制權(quán)反轉(zhuǎn)給了金水。類AAInterfaceaAInterfaceImpA代碼片段:類A{

AInterfacea;

A(){}

aMethod(){

a=newAInterfaceImpA();

}}類AAInterfaceaAInterfaceImpB代碼片段:類A{

AInterfacea;

A(){}

aMethod(){

a=newAInterfaceImpB();

}}類A和AinterfaceImplA耦合性太強(qiáng)ClassAAInterfaceaAInterfaceImpAAInterfaceImpBAinterface工廠AInterfacecreate(Objectcondition)根據(jù)條件condition返回不同的實現(xiàn)類代碼片段:類InterfaceImplFactory{

AInterfacecreate(Objectcondition){

if(condition=condA){

returnnewAInterfaceImpA();

}elseif(condition=condB){

returnnewAInterfaceImpB();

}else{ returnnewAInterfaceImp(); } }}AinterfaceImplA、B和Ainterface工廠耦合性太強(qiáng)IOC容器類AAInterfaceaIOC工廠XML配置AInterfaceImpA123IOC工廠自動從XML獲取類描述。實例化描述中的類。把實例化的類注入到指定的接口上??梢园袸oC模式看做是工廠模式的升華,可以把IoC看作是一個大工廠,只不過這個大工廠里要生成的對象都是在XML文件中給出定義的,然后利用Java的“反射”編程,根據(jù)XML中給出的類名生成相應(yīng)的對象。代碼片段:類A{

AInterfacea=null;

A(){}}類AInterfaceImpA{}類AInterfaceImpB{}WEB容器SpringIOC容器如何使用SpringIOC把SpringMVC和Hibernate整合HinterfaceImplHibernate數(shù)據(jù)接口實現(xiàn)類SInterfaceImpl業(yè)務(wù)邏輯實現(xiàn)類Hinterface數(shù)據(jù)接口Controller對象Sinterface業(yè)務(wù)邏輯接口Hibernate對象注入JavaBean對象注入瀏覽器http請求http返回開發(fā)入門

1、開發(fā)環(huán)境搭建jdk1.7sts3.6.22、項目環(huán)境搭建導(dǎo)入相關(guān)jar包(spring包,Hibernate包,數(shù)據(jù)庫驅(qū)動,數(shù)據(jù)源包,測試包等)web.xml配置spring配置文件配置springMVC配置文件配置3、編程開發(fā)配置文件介紹web.xml配置1、要正常的使用spring必須在web.xml中開啟spring監(jiān)聽器,同時如spring配置文件名稱、位置不是默認(rèn),則需要進(jìn)行配置2、為避免Hibernate延時加載時因session關(guān)閉所產(chǎn)生的異常,通過openSessionInViewFilter配置,將session的開關(guān)交由spring進(jìn)行管理3、進(jìn)行DispatcherServlet配置,保證springMVC的正常使用,同時如springMVC配置文件名稱、位置不是默認(rèn),則需要進(jìn)行配置4、另外還可以進(jìn)行字符編碼過濾器配置,避免出現(xiàn)亂碼現(xiàn)象等web.xmlweb.xml配置文件介紹屬性文件(perties)數(shù)據(jù)庫連接相關(guān)配置信息通常存儲在屬性配置文件中。配置文件介紹spring配置文件默認(rèn)名稱:applicationContext.xml。默認(rèn)位置:/WEB-INF/applicationContext.xml。如果名稱、位置不是在默認(rèn)位置需在web.xml中進(jìn)行配置。在該文件中可以進(jìn)行如下配置:1、掃描包目錄配置(同時開啟基于注解方式)2、屬性文件的導(dǎo)入配置3、注冊需要spring來管理的類(整合Hibernate,對數(shù)據(jù)源對象與SessionFactory對象進(jìn)行描述和屬性配置)4、事務(wù)管理配置等spring-hibernate.xmlspring-hibernate.xmlspring-hibernate.xml配置文件介紹springMVC配置文件默認(rèn)名稱:<servletName>-servlet.xml。默認(rèn)位置:/WEB-INF/<servletName>-servlet.xml。如果名稱、位置不是在默認(rèn)位置需在web.xml中進(jìn)行配置。在該文件中可以進(jìn)行如下配置:1、掃描包目錄配置(同時開啟基于注解方式)2、HandlerMapping、HandlerAdapter注冊3、viewResolver配置4、異常頁配置5、文件上傳配置6、攔截器配置等springMVC.xml注解@Component(不推薦使用)@Repository(value="userDao")@Service("userService")@Constroller@Resource(name="userDao")@Autowired@Qualifier("userDao")(不推薦使用)<beans><beanid="userDao"class="com.shy.ssh.dao.UserDao"/></beans><beans><beanid="userService"class="com.shy.ssh.service.UserService">

<propertyname="userDao"ref="userDao"/></bean></beans>UserBean.javaUserDao.java@Repository("userDao")publicclassUserDaoimplementsIUserDao{ privateSessionFactorysessionFactory; publicSessionFactorygetSessionFactory(){ returnsessionFactory; }

@Autowired publicvoidsetSessionFactory(SessionFactorysessionFactory){ this.sessionFactory=sessionFactory; } privateSessiongetCurrentSession(){ returnthis.sessionFactory.getCurrentSession(); } @Override publicSerializablesave(UserBeanuserBean){ returnthis.getCurrentSession().save(userBean); }}publicinterfaceIUserDao{publicSerializablesave(UserBeanuserBean);}UserService.javapublicinterfaceIUserService{publicSerializablesave(UserBeanuserBean);}UserController.java@Controller@RequestMapping("/user")publicclassUserController{ privateIUserServiceuserService; publicIUserServicegetUserService(){returnuserService;}

@Resource(name="userService") publicvoidsetUserService(IUserServiceuserService){ this.userService=userService; }

@RequestMapping(val

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論