16.java中的框架

一、spring

Spring是一個解決了許多在J2EE開發中常見的問題的強大框架。 Spring提供了管理業務對象的一致方法並且鼓勵了注入對接口編程而不是對類編程的良好習慣。Spring的架構基礎是基於使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作爲構建完關注所有架構層的完整解決方案方面是獨一無二的。 Spring提供了唯一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率並且減少了可能的錯誤。Spring的數據訪問架構還集成了hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,例如JTA或者JDBC事務提供一個一致的編程模型。Spring提供了一個用標準Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其他企業事務--如果你需要--還能實現你自己的aspects。這個框架足夠強大,使得應用程序能夠拋開EJB的複雜性,同時享受着和傳統EJB相關的關鍵服務。Spring還提供了可以和IoC容器集成的強大而靈活的MVC Web框架。

二、STRUCTS

Struts是一個基於Sun J2EE平臺的MVC框架,主要是採用Servlet和JSP技術來實現的。由於Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義標籤和信息資源(message resources)整合到一個統一的框架中,開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間,所以說Struts是一個非常不錯的應用框架。

三、Hibernate

Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。映射很簡單呀,就是頁面的映射呀,多做點練習就會了,

JAVA三大框架用來做WEB應用。 struts主要負責表示層的顯示 spring利用它的IOC和AOP來處理控制業務(負責對數據庫的操作) hibernate主要是數據的持久化到數據庫 在用jsp的servlet做網頁開發的時候有個web.xml的映射文件,裏面有個mapping的標籤就是用來做文件映射的。 當你在瀏覽器上輸入URL地址的時候,文件就會根據你寫的名稱對應到一個java文件,根據java文件裏編寫的內容顯示在瀏覽器上,就是一個網頁,所以網頁名字是隨便寫的,隨便起的名字,不管你起的是.PHP .jsp .do還是其他的什麼都對應這個java文件,這個java文件裏的代碼進行什麼操作就幹什麼,顯示一句話還是連接數據庫還是跳轉到其他頁面等等,這個java文件把數據進行封裝起到安全和便於管理的作用。其實這個java文件編譯過來是.class的一個字節碼文件,沒有那麼一個類似html嵌入標籤和代碼的網頁文件。他與jsp文件區別就是jsp把代碼嵌入到html標籤中。 還有servlet或者struts中html表單的action中的提交名稱對應一個java文件,struts一般是.do的,都和上面一樣是映射。



Struts,Spring,Hibernate三大框架的面試  

1.Hibernate工作原理及爲什麼要用? 

原理: 1.讀取並解析配置文件 2.讀取並解析映射信息,創建SessionFactory 3.打開Session 4.創建事務Transation 5.持久化操作 6.提交事務 7.關閉Session 8.關閉SesstionFactory  

爲什麼要用: 1. 對JDBC訪問數據庫的代碼做了封裝,大大簡化了數據訪問層繁瑣的重複性代碼。 2. Hibernate是一個基於JDBC的主流持久化框架,是一個優秀的ORM實現。他很大程度的簡化DAO層的編碼工作 3. hibernate使用Java反射機制,而不是字節碼增強程序來實現透明性。 4. hibernate的性能非常好,因爲它是個輕量級框架。映射的靈活性很出色。它支持各種關係數據庫,從一對一到多對多的各種複雜關係。   

2.Hibernate是如何延遲加載?  

1. Hibernate2延遲加載實現:a)實體對象 b)集合(Collection)  

2. Hibernate3 提供了屬性的延遲加載功能 當Hibernate在查詢數據的時候,數據並沒有存在與內存中,當程序真正對數據的操作時,對象才存在與內存中,就實現了延遲加載,他節省了服務器的內存開銷,從而提高了服務器的性能。   

3.Hibernate中怎樣實現類之間的關係?(如:一對多、多對多的關係)

類與類之間的關係主要體現在表與表之間的關係進行操作,它們都市對對象進行操作,我們程序中把所有的表與類都映射在一起,它們通過配置文件中的many-to-one、one-to-many、many-to-many    

4.Struts1流程: 

1、客戶端瀏覽器發出HTTP請求。2、根據web.xml配置,該請求被ActionServlet接收。3、根據struts-config.xml配置, ActionServlet先將請求中的參數填充到ActionForm中,然後ActionServlet再將請求發送到Action 進行處理。4、是否驗證,需要驗證則調用ActionForm的validate方法,驗證失敗則跳轉到input,成功則繼續。5、Action從ActionForm獲得數據,調用javabean 中的業務方法處理數據。6、Action返回ActionForward對象,跳轉到相應JSP頁面或Action。7、返回HTTP響應到客戶端瀏覽器。  

MVC設計模式:modal:“模型” 也稱業務邏輯,是正真完成任務的代碼,相當與JavaBeanview:視圖,其實就是顯示界面,相當於JSPcontroller:控制器,他控制模型和視圖的交互過程,相當於servletstruts1是基於MVC設計模式hibernate是基於ORM對象關係映射  

 

5.struts是什麼? 

struts1是基於JSP和servlet的一個開源的Web應用框架,使用的是MVC的設計模式struts2是基於webwork技術的框架,是sun和webwork公司聯手開發的一個功能非常齊全的框架,struts2和struts1沒有任何關係,是一個全新的框架  

 

6.spring是什麼? 

spring是一個集成了許多第三方框架的大雜燴,其核心技術是IOC(控制反轉,也稱依賴注

入)和AOP(面向切面編程)  

 

7.hibernate是什麼? 

hibernate是基於ORM對象關係映射(完成對象數據到關係數據映射的機制)實現的,做數據持久化的工具   

8.JSF是什麼? 

JavaServer Face是基於組件的web開發框架,跟sturts差不多的框架   

9.數據庫裏面的索引和約束是什麼? 

索引是爲了提高數據的檢索速度,索引是建立在數據表上,根據一個或多個字段建立的約束是爲了保持數據的完整性,約束有非空約束,主鍵約束,外鍵約束等等。  

10.spring是什麼 

這個問題,往往可以通過我們爲什麼要使用spring這個問題來切入:AOP 讓開發人員可以創建非行爲性的關注點,稱爲橫切關注點,並將它們插入到應用程序代碼中。使用AOP後,公共服務 (比如日誌、持久性、事務等)就可以分解成方面並應用到域對象上,同時不會增加域對象的對象模型的複雜性。IOC 允許創建一個可以構造對象的應用環境,然後向這些對象傳遞它們的協作對象。正如單詞 倒置 所表明的,IOC 就像反 過來的 JNDI。沒有使用一堆抽象工廠、服務定位器、單元素(singleton)和直接構造(straight construction),每一個對象都是用其協作對象構造的。因此是由容器管理協作對象(collaborator)。 Spring即使一個AOP框架,也是一IOC容器。 Spring 最好的地方是它有助於您替換對象。有了 Spring,只要用 JavaBean 屬性和配置文件加入依賴性(協作對象)。然後可以很容易地在需要時替換具有類似接口的協作對象。  

 

11.用自己的話簡要闡述struts2的執行流程。 

Struts 2框架本身大致可以分爲3個部分:核心控制器FilterDispatcher、業務控制器Action和用戶實現的企業業務邏輯組件。核心控制器FilterDispatcher是Struts 2框架的基礎,包含了框架內部的控制流程和處理機制。業務控制器Action和業務邏輯組件是需要用戶來自己實現的。用戶在開發Action和業務邏輯組件的同時,還需要編寫相關的配置文件,供核心控制器FilterDispatcher來使用。  

 

Struts 2的工作流程相對於Struts 1要簡單,與WebWork框架基本相同,所以說Struts 2是WebWork的升級版本。基本簡要流程如下:1、客戶端瀏覽器發出HTTP請求。2、根據web.xml配置,該請求被FilterDispatcher接收。3、根據struts.xml配置,找到需要調用的Action類和方法, 並通過IoC方式,將值注入給Aciton。4、Action調用業務邏輯組件處理業務邏輯,這一步包含表單驗證。5、Action執行完畢,根據struts.xml中的配置找到對應的返回結果result,並跳轉到相應頁面。6、返回HTTP響應到客戶端瀏覽器。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章