更新時間:2019-08-23 16:56:03 來源:動力節點 瀏覽3056次
今天動力節點java學院小編為大家整理了“5道關于SSH框架的面試題及答案”,希望對各位正在找工作的java程序員有幫助。下面和小編一起看看吧。
1、寫出你熟悉的開源框架以及各自的作用(項目中為什么使用SSH)
框架:hibernate,spring,struts1/struts2.
Hibernate主要用于數據持久化;封裝了JDBC操作;還提供了一個易用的、高效率的對象關系映射框架;
Spring的控制反轉能起到解耦合的作用;
Struts主要用于請求處理的流程控制;struts是基于MVC模式的,很好的將應用程序進行了分層,使開發者更關注于業務邏輯的實現;struts有著豐富的taglib,如能靈活運用,則能大大提高開發效率。
Struts(表示層)+Spring(業務層)+Hibernate(持久層)
2、簡述STRUTS架構(說下Struts的工作流程、struts的工作原理)
簡述:
Struts是采用JavaServlet/JavaServerPages技術,開發Web應用程序的開放源碼的framework。采用Struts能開發出基于MVC(Model-View-Controller)設計模式的應用構架。Struts有如下的主要功能:一.包含一個controllerservlet,能將用戶的請求發送到相應的Action對象。二.JSP自由tag庫,并且在controllerservlet中提供關聯支持,幫助開發員創建交互式表單應用。三.提供了一系列實用對象:XML處理、通過JavareflectionAPIs自動處理JavaBeans屬性、國際化的提示和消息。
流程:
在web應用啟動時就會加載初始化ActionServlet,ActionServlet從struts-config.xml文件中讀取配置信息,把它們存放到各種配置對象當ActionServlet接收到一個客戶請求時,將執行如下流程.
(1)檢索和用戶請求匹配的ActionMapping實例,如果不存在,就返回請求路徑無效信息;
(2)如果ActionForm實例不存在,就創建一個ActionForm對象,把客戶提交的表單數據保存到ActionForm對象中;
(3)根據配置信息決定是否需要表單驗證.如果需要驗證,就調用ActionForm的validate()方法;
(4)如果ActionForm的validate()方法返回null或返回一個不包含ActionMessage的ActuibErrors對象,就表示表單驗證成功;
(5)ActionServlet根據ActionMapping所包含的映射信息決定將請求轉發給哪個Action,如果相應的Action實例不存在,就先創建這個實例,然后調用Action的execute()方法;
(5)Action的execute()方法返回一個ActionForward對象,ActionServlet在把客戶請求轉發給ActionForward對象指向的JSP組件;
(6)ActionForward對象指向JSP組件生成動態網頁,返回給客戶;
3、緩存
session緩存:被稱為Hibernate的第一級緩存.它存放被單前工作單元加載的對象。
sessionFactory緩存:被稱為Hibernate的第二級緩存.一個實例對應一個數據存儲源.它是線程安全的,是重量級的。
它需要一個很大的緩存,用來存放預定義的SQL語句以及映射元數據等。
4、對象的3個狀態
瞬時:一個實體通過new操作符創建后,沒有和Hibernate的Session建立關系,
也沒有手動賦值過該實體的持久化標識(持久化標識可以認為映射表的主鍵)。
此時該實體中的任何屬性的更新都不會反映到數據庫表中。
持久化:當一個實體和Hibernate的Session創建了關系,
并獲取了持久化標識,而且在Hibernate的Session生命周期內存在。
此時針對該實體任何屬性的更改都會直接影響到數據庫表中一條記錄對應字段的更新,
也即與對應數據庫表保持同步。
脫管:當一個實體和Hibernate的Session創建了關系,并獲取了持久化標識,
而此時Hibernate的Session的生命周期結束,實體的持久化標識沒有被改動過。
針對該實體的任何屬性的修改都不會及時反映到數據庫表中。
5、Spring里面applicationContext.xml文件能不能改成其他文件名?
ContextLoaderListener是一個ServletContextListener,它在你的web應用啟動的時候初始化。缺省情況下,它會在WEB-INF/applicationContext.xml文件找Spring的配置。你可以通過定義一個元素名字為”contextConfigLocation”來改變Spring配置文件的位置。示例如下:
org.springframework.web.context.ContextLoaderListenercontextConfigLocation/WEB-INF/xyz.xml
以上就是動力節點java學院小編整理的“5道關于SSH框架的面試題及答案”的內容,希望對大家有幫助,更多精彩內容請關注動力節點java學院官網。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習