1. 程式人生 > >Java常見面試題彙總(七)

Java常見面試題彙總(七)

今天總結的是java框架相關的面試題,有需要的可以繼續拿去了。

 1J2EE 是什麼?

答:J2EE Sun 公司提出的多層(multi-diered),分散式(distributed),基於元件(component-base)的企業級應用模型(enterpriese application model).在這樣的一個應用系統中,可按照功能劃分為不同的元件,這些元件又可在不同計算機上,並且處於相應的層次(tier)中。所屬層次包括客戶層(clietn tier)元件,web 層和元件,Business 層和元件,企業資訊系統(EIS)層。

2J2EE 是技術還是平臺還是框架?

答:J2EE 本身是一個標準,一個為企業分散式應用的開發提供的標準平臺;J2EE 也是一個框架,包括JDBCJNDIRMIJMSEJBJTA 等技術。

3、請解釋下Spring框架中的IoC

Spring中的 org.springframework.beans 包和 org.springframework.context包構成了Spring框架IoC容器的基礎。

BeanFactory 介面提供了一個先進的配置機制,使得任何型別的物件的配置成為可能。ApplicationContex介面對BeanFactory(是一個子介面)進行了擴充套件,在

BeanFactory的基礎上添加了其他功能,比如與SpringAOP更容易整合,也提供了處理message resource的機制(用於國際化)、事件傳播以及應用層的特別配置,比如針對Web應用的WebApplicationContext

org.springframework.beans.factory.BeanFactory Spring IoC容器的具體實現,用來包裝和管理前面提到的各種beanBeanFactory介面是Spring IoC 容器的核心介面。

4SpringMVC的工作流程?

答:

1)使用者傳送請求至前端控制器DispatcherServlet

2DispatcherServlet收到請求呼叫HandlerMapping處理器對映器。

3)處理器對映器根據請求url找到具體的處理器,生成處理器物件及處理器攔截器(如果有則生成)一併返回給DispatcherServlet

4DispatcherServlet通過HandlerAdapter處理器介面卡呼叫處理器

5)執行處理器(Controller,也叫後端控制器)

6Controller執行完成返回ModelAndView

7HandlerAdaptercontroller執行結果ModelAndView返回給DispatcherServlet

8DispatcherServletModelAndView傳給ViewReslover檢視解析器

9ViewReslover解析後返回具體View

10DispatcherServletView進行渲染檢視(即將模型資料填充至檢視中)。

11DispatcherServlet響應使用者

5、用自己的話簡要闡述struts2的執行流程。

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

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

6、說下Struts的設計模式

MVC模式: web應用程式啟動時就會載入並初始化ActionServler。使用者提交表單時,一個配置好的ActionForm物件被建立,並被填入表單相應的數 據,ActionServler根據Struts-config.xml檔案配置好的設定決定是否需要表單驗證,如果需要就呼叫ActionFormValidate()驗證後選擇將請求傳送到哪個Action,如果Action不存在,ActionServlet會先建立這個物件,然後呼叫Actionexecute()方法。Execute()從ActionForm物件中獲取資料,完成業務邏輯,返回一個ActionForward物件,ActionServlet再把客戶請求轉發給ActionForward物件指定的jsp元件,ActionForward物件指定的jsp生成動 態的網頁,返回給客戶。

未完待續……歡迎繼續關注!