2019/6/29
Java框架 期末考試重點
1. Struts2是基於什么設計模式開發出來的?
MVC
2. Struts2核心框架的配置文件叫什么名字?
Struts.xml
3. Struts2中,控制類(Controller)用什么方法輸出校驗錯誤信息(哪個方法拿來做校驗)?
Validate()
4. AOP中,切面在某個具體連接點采取的行為或動作稱之為?
advice通知
5. Spring容器最基本的接口是什么?
Org.springframework.context,ApplicationContext
6. Spring同時支持xxx和xxx兩種事務?
聲明式事務 編程式事務
7. Spring代理分為哪兩種代理?
動態代理 靜態代理
8. Hibernate是一種對xxx做了輕量級封裝的ORM框架?
jdbc
9. 對象關系映射ORM的基本原則是什么,類class映射什么,屬性properties映射什么,類的實例或對象映射什么?
對象關系映射(ORM)的基本原則是:類型(class)映射__表__,屬性(property)映射_列_, 類型的實例或對象(instance | object)映射一條記錄_。
10. Hibernate核心配置文件是什么?
Hibernate.cfg.xml
11. Hibernate核心配置文件后綴名是什么?
Cfg.xml
12. Struts2中,配置中用什么元素來配置常量?
Constant
13. Spring中,面向切面編程AOP的目標在於?
減少代碼復用性
14. 環繞通知必須實現什么接口?
15. Struts2攔截器與過濾器有什么區別?
(1)過濾器是servlet規范中的一部分,任何java web工程都可以使用。
(2)、攔截器是struts2框架自己的,只有使用了struts2框架的工程才能用。
(3)、過濾器在url-pattern中配置/*之后,可以對所有要訪問的資源攔截。
(4)、攔截器它是只有進入struts2核心內部之后,才會起作用,如果訪問的是jsp,html,css,image或者js是不會進行攔截的。同時攔截器還是AOP編程思想的具體體現形式。AOP簡單的說就是:在不修改源碼的基礎上,對已有的方法進行動態增強。在struts2中,攔截器它就是對我們的動作方法進行增強(其實就是把重復性的代碼提取出來,然后放到攔截器中,統一管理,統一調用)。
16. Hibernate三種狀態之間是如何轉換的?
17. 請描述Hibernate中,(寫黑板上忘了)get()和load()的區別。
Session的get()與load()方法都可以根據給定的OID從數據庫中加載一個持久化對象。load方法支持延遲加載策略,而get不支持。
18. 請描述Spring框架中bean的生命周期。
19. Struts2框架中,對用戶輸入數據的校驗分為哪兩種?
客戶端驗證 服務端驗證
20. Struts2國際化文件的后綴名是什么?
properties
21. Struts2中通過包配置來管理xxxx和xxxx?
Action和攔截器
22. Spring是一個以xxx和xxx為核心的輕量級框架?
AOP IOC
23. Hibernate的會話接口同時又是一個工廠類型,創建一個HQL查詢接口的方法是?創建基於公式標准接口的方法是?
Hibernate的會話接口同時又是一個工廠類型:創建一個HQL查詢接口的方法是_createQuery_,創建基於公式(標准)接口的方法是 _createCriteria__。
24. Hibernate查詢方法。
Sql hql qbc
25. Hibernate實體間通過關系來相互關聯,哪幾種關聯關系?
一對多 一對一 多對多
26. 切面編程。
切面(Aspect)描述的是一個應用系統的某一個方面或領域,例如:日志,事務,權限檢查等。
27. 請描述一下Struts2的執行流程是怎么樣的?
1、客戶端瀏覽器發出HTTP請求。
2、根據web.xml配置,該請求被FilterDispatcher接收。
3、根據struts.xml配置,找到需要調用的Action類和方法, 並通過IoC方式,將值注入給Aciton。
4、Action調用業務邏輯組件處理業務邏輯,這一步包含表單驗證。
5、Action執行完畢,根據struts.xml中的配置找到對應的返回結果result,並跳轉到相應頁面。
6、返回HTTP響應到客戶端瀏覽器。
28. Struts2中的默認包struts-default有什么作用?
struts-default.xml文件是struts2框架默認加載的配置文件。它定義struts2一些核心的bean和攔截器。這些攔截器是以key-value對的形式配置在struts-default.xml中,其中name是攔截器名字,就是后面使用該攔截器的引用點,value則指定攔截器的實現類。
29. 有哪些不同類型的IOC依賴注入方式?並說明作用?
30. 請描述Spring支持的事務管理類型?
編程式 聲明式
31. 請描述Hibernate的緩存(一級緩存、二級緩存等)。
Hibernate一級緩存又被稱為“Session的緩存”。Session緩存是內置的,不能被卸載,是事務范圍的緩存,在一級緩存中,持久化類的每個實例都具有唯一的OID。
Hibernate二級緩存又稱為“SessionFactory的緩存”,由於SessionFactory對象的生命周期和應用程序的整個過程對應,因此Hibernate二級緩存是進程范圍或者集群范圍的緩存,有可能出現並發問題,因此需要采用適當的並發訪問策略,該策略為被緩存的數據提供了事務隔離級別,第二級緩存是可選的,是一個可配置的插件,默認下SessionFactory不會啟用這個插件。
32. (代碼題)SSH登錄完整過程。
33. Struts2中,Action實例部(不?)在以xxx耦合,因此無法直接處理用戶請求。 servlet-api
34. Struts2中編寫攔截器時,攔截器必須是什么(換句話說,在攔截器類中不應該有實例變量,什么情況下有實例變量)?
無狀態
35. Struts2中攔截器是圍繞着xxx和xxx的執行而執行?
Action 和 result
36. Struts2中核心控制器filterdispatcher必須在xxx文件中配置Struts2才起作用?
Struts.xml
37. Bean的單例屬性設置為false,告訴容器該bean是?
定義為原型bean
38. Hibernate是一個什么框架?對什么進行了輕量級封裝?
持久化orm 對dbc
39. Hibernate常見的查詢方式有哪三種?
Hql sql qbc
40. Struts2類型轉換的作用是什么?校驗的順序和短路的規則又是什么?
所有頁面與控制器傳遞的數據均為String類型,處理時用到各種數據類型,程序無法完成數據類型的轉換
41. 項目中如何體現Spring中的切面編程?請具體說明?
42. 請描述Hibernate與JDBC關系。
43. 根據你的理解,談談項目中為什么使用SSH。
struts2是基於MVC模式的一個web框架技術,攔截器是其重要的內容,主要應用於控制層和顯示層。
hibernate是一個ORM框架,對JDBC進行了輕量級的封裝,主要是對數據庫的操作進行處理,主要是用在模型層及業務邏輯層。
spring是以Ioc和Aop為核心的輕量級的容器框架,主要是對程序中用到的屬性進行初始化操作,對方法進行注入,對事務進行管理。應用在數據開發的整個過程中。
44. MVC哪三個單詞?
Model view control
45. Struts2默認執行的方法叫?
Execute
46. Spring是輕量級的,它是非侵入式的,一般不需要在類里面進行import它的包。
47. Spring的四種通知。
Spring中bean容器提供了兩種容器的選擇,分別是?(提供了哪兩種方式讓你獲取容器)
48. Hibernate的五大核心接口。
Configuration SessionFactory Session Transaction Query和Criteria
49. Hibernate的會話接口中,刪除一個實體的方法是什么?獲得處理事務接口的方法是什么?
Delete() getTransaction
50. 只要涉及到工作機制、生命周期都要記住。
51. Spring的事務管理有哪些優點?
52. 比如寫個頁面,收集信息,單選多選等等,要submit提交及action接收,還有業務實現類,收到信息后做一個簡單的數學運算然后返回結果(編程題)。
53. 編寫Hibernate的一些關聯映射,一對多、多對多等等怎么配置,雙向、單向怎么配置(編程填空題)。
54. Struts2框架由什么框架發展而來?
Struts1 webwork
55. 目前有兩種主流的AOP實現,分別是哪兩種AOP實現(靜態及動態)?
56. Hibernate Transaction?
57. 做項目的時候,用Hibernate操作數據庫,先建類(POJO類)還是先建表?
先建表后建類
58. Hibernate三種檢索策略?
立即檢索 延遲檢索 迫切左外連接檢索
59. ORM主要解決的是什么問題?主要目的是解決什么問題?
對象關系映射(Object—Relational Mapping,簡稱ORM)是一種為了解決面向對象與面向關系數據庫存在的互不匹配的現象的技術;簡單的說,ORM 是通過使用描述對象和數據庫之間映射的元數據,將java 程序中的對象自動持久化到關系數據庫中;本質上就是將數據從一種形式轉換到另外一種形式。