大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

面試題首頁 > Struts2面試題

Struts2面試題

001談談你對MVC的理解?

MVC是Model—View—Controler的簡稱。即模型—視圖—控制器。MVC是一種設計模式,它強制性的把應用程序的輸入、處理和輸出分開。
視圖: 視圖是用戶看到并與之交互的界面。視圖向用戶顯示相關的數據,并接受用戶的輸入。視圖不進行任何業務邏輯處理。
模型: 模型表示業務數據和業務處理。相當于JavaBean。一個模型能為多個視圖提供數據。這提高了應用程序的重用性。
控制器: 當用戶單擊Web頁面中的提交按鈕時,控制器接受請求并調用相應的模型去處理請求。然后根據處理的結果調用相應的視圖來顯示處理的結果。
MVC的處理過程:首先控制器接受用戶的請求,調用相應的模型來進行業務處理,并返回數據給控制器。控制器調用相應的視圖來顯示處理的結果。并通過視圖呈現給用戶。

002簡單介紹一下Struts2?

Struts2框架是一個按照MVC設計模式設計的WEB層框架,是在Struts 1和WebWork的技術基礎上進行了合并的全新的框架。其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大。Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與ServletAPI完全脫離開。
我們可以把Struts2理解為一個大大的Servlet,而這個Servlet就是ActionServlet。Struts2在處理客戶端請求時,會先讀取web.xml配置文件,根據前端控制器將符合條件的請求分給各個不同的Action處理。在此之前,ActionServlet會把數據封裝成一個JavaBean。
Struts2框架提供了許多的攔截器,在封裝數據的過程中,我們可以對數據進行一些操作,例如:數據校驗等等。當Action執行完后要返回一個結果視圖,這個結果視圖可以跟據struts2的配置文件中配置,選擇轉發或者重定向。

003Struts2有哪些優點?

1.在軟件設計上Struts2的應用可以不依賴于Servlet API和struts API。 Struts2的這種設計屬于無侵入式設計; 
2.攔截器,實現如參數攔截注入等功能; 
3.類型轉換器,可以把特殊的請求參數轉換成需要的類型; 
4.多種表現層技術,如:JSP、freeMarker、Velocity等; 
5.Struts2的輸入校驗可以對指定某個方法進行校驗; 
6.提供了全局范圍、包范圍和Action范圍的國際化資源文件管理實現;

004Struts2是如何啟動的?

1.Struts2框架是通過Filter啟動的,即StrutsPrepareAndExecuteFilter,此過濾器為struts2的核心過濾器; 
2.StrutsPrepareAndExecuteFilter的init()方法中將會讀取類路徑下默認的配置文件struts.xml完成初始化操作。struts2讀取到struts.xml的內容后,是將內容封裝進javabean對象然后存放在內存中,以后用戶的每次請求處理將使用內存中的數據,而不是每次請求都讀取struts.xml文件。

005Strust2如何訪問Servlet API?

1)通過ActionContext可以獲得request,application,session三個作用域(struts2實際上是通過適配器來把servlet的api轉換為一個map,并把這些map放在ActionContext里面)。
2)通過ActionContext的子類ServletActionContext去獲取原滋原味的API。
3)可以通過實現ServletRequestAware接口,重寫里面的setServletRequest方法可以獲得request,實際上是通過set的依賴注入。

006Struts2 如何定位action中的方法?

1)感嘆號定位方法(動態方法)。
2)在xml配置文件中通過配置多個action,使用action的method指定方法。
3)使用通配符(*)匹配方法。

007result的type屬性中有哪幾種結果類型?

一共10種:   
dispatcher是默認的結果類型,把控制權轉發給應用程序里的某個資源。
redirect把響應重定向到另一個資源(包括一個外部資源) 
redirectAction把響應重定向到另一個 Action 
freemarker、velocity、chain、httpheader、xslt、plainText、stream 

008ActionContext、ServletContext、pageContext的區別?

1.ActionContext是當前的Action的上下文環境,通過ActionContext可以獲取到request、session、ServletContext等與Action有關的對象的引用; 
2.ServletContext是域對象,一個web應用中只有一個ServletContext,生命周期伴隨整個web應用; 
3.pageContext是JSP中的最重要的一個內置對象,是JSP四個域對象中最小的。可以通過pageContext獲取其他域對象的應用,同時它是一個域對象,作用范圍只針對當前頁面,當前頁面結束時,pageContext銷毀。

009Struts2常量的修改方式?

常量可以在struts.xml或struts.properties中配置,兩種配置方式如下: 
1.在struts.xml文件中配置常量 
<constant name="struts.action.extension" value="do"/> 
2.在struts.properties中配置常量(struts.properties文件放置在src下): 
struts.action.extension=do

010關于Struts的描述中,不正確的是(D)

A. Struts 是一個基于JAVA EE的MVC
B. Struts2的框架配置文件是struts-configxml
C. Struts2的控制組建核心包括核心控制和業務控制器
D. 在Struts中解決中文亂碼可以通過修改struts。I18n。encoding的值為GBK來實現

011Struts中數據驗證失敗時,通過( B )標簽顯示錯誤信息。

A <s:text>
B <s:error>
C <s:faild>
D <s:fielderror>

012以下屬于struts2的控制器組件的是:(A)

A. Action 
B. ActionForm 
C. ActionServlet 
D. DispatchAction

013以下屬于struts2的體系結構的是: (AB)

A. struts2控制器組件 
B. struts2配置文件 
C. FilterDispatcher 
D. Action

014以下屬于struts2配置文件的配置元素是:( AB)

A. <package> 
B. <action> 
C. <form-bean> 
D. <action-mapping>

015關于struts1和struts2對比的說法正確的是:( A)

A. struts1要求Action類繼承其框架中的Action父類,struts2則不一定需要繼承,可以是POJO類
B. struts1的Action不是線程安全的,struts2的Action是線程安全的
C. struts1和struts2都使用ActionForm對象封裝用戶的請求數據
D. struts1使用OGNL表達式語言來支持頁面效果,struts2通過ValueStack技術使標簽庫訪問值

016以下關于ValueStack說法正確的是:( ACD)

A. 每個Action對象實例擁有一個ValueStack對象
B. 每個Action對象實例擁有多個ValueStack對象
C. Action中封裝的需要傳入下一個頁面的值,這些值封裝在ValueStack對象中
D. ValueStack會在請求開始時創建,請求結束時消亡

017關于struts2配置中用 (C)

A. 必須在WEB-INF/classes目錄下
B. 名字必須為strutss.xml
C. 配置Action時,必須配置包信息
D. 使用<forward>元素配置轉發

018在struts配置中用(C)元素配置常量

A. <const>
B. <constants>
C. <constant>
D. <constant-mapping>

019關于struts2包說法正確的是:(BCD)

A. struts2框架使用包來管理常量
B. struts2框架定義包時必須指定name屬性
C. struts2框架中配置包時,必須繼承自struts-default包,否則會報錯
D. struts2框架中使用包來管理Action

020struts2中獲取Servlet API的方法正確的是:(AD)

A. 使用ActionContext對象以解耦合的方式訪問Servlet API
B. 使用ServletActionContext對象以解耦合的方式訪問Servlet API
C. 使用ActionContext對象以耦合的方式訪問Servlet API
D. 使用ActionContext對象以耦合的方式訪問Servlet API

021如果要實現struts2的數據檢驗功能(C)

A. 普通的Action類可以實現
B. 繼承自Action接口的可以實現
C. 繼承自ActionSupport類可以實現
D. 繼承自ActionValidate類可以實現

022如果要實現自定義處理結果,需要繼承哪個類 (B)

A. Dispatcher
B. StrutsResultSupport
C. Support
D. Action

023實現動態返回結果,在配置<resule>元素時使用(A)指定視圖資源

A. ${屬性名}
B. @{屬性名}
C. ${'屬性名'}
D. ${"屬性名"}

024用于實現國際化的struts2標簽的是 (A)

A. <s:text> 
B. <s:message> 
C. <s:textfile> 
D. <s:resource>

025自定義攔截器類的方式有:(AD)

A. 實現Interceptor接口
B. 實現AbstractionInceptor接口
C. 繼承Interceptor類
D. 繼承AbstractionInceptor類

026在struts.xml文件中,使用(B)定義攔截器

A. <interceptor-ref>
B. <interceptor>
C. <intercep>
D. <defaull-interceptor-ref>

027在OGNL中?操作符的作用是(C)

A. 取出符合選擇邏輯的第一個元素
B. 取出符合選擇邏輯的第=最后一個元素
C. 取出符合選擇邏輯的所有元素
D. 以上說法都不對

028以下哪個標簽是struts2中用于循環迭代的(B)

A. <s:property> 
B. <s:iterator>
C. <s:logic>
D. <s:foreach>

029以下關于OGNL的說法正確的是(AC)

A. ActionContext是OGNL上下文環境
B. StackContext是OGNL上下文環境
C. ValueStack是OGNL根
D. ActionContext是OGNL根

目錄

返回頂部
主站蜘蛛池模板: 国产乱码 | 天天躁夜夜躁狂狂躁综合 | 日韩一级在线 | 国产精品视频免费观看 | 泰国一级毛片aaa下面毛多 | 欧美日韩中文在线观看 | 欧美另类日韩中文色综合 | 久久社区 | 在线观看日本免费不卡 | 国产毛片一区二区 | 我要看欧美精品一级毛片 | 香蕉成人啪国产精品视频综合网 | 996热这里有精品青青草原 | 国产草比 | 亚洲一区 在线播放 | 久久久夜色精品国产噜噜 | 97色偷偷9999www | 国产区一区二 | 中文字幕或区 | 日本一级一片免在线观看 | 手机看片福利盒子久久 | 久久精品免费全国观看国产 | 欧美日韩在线成人 | 九九久久九九久久 | 国产综合亚洲欧美日韩一区二区 | 国产精品日韩欧美一区二区三区 | 青青青在线视频国产 | 日韩精品欧美亚洲高清有无 | 尹人香蕉久久99天天拍欧美p7 | 日韩亚洲欧美一区二区三区 | 亚洲精品久久久久久久久久久网站 | 欧美亚洲国产成人精品 | 狠狠操天天操夜夜操 | 天天操国产 | 玖玖视频精品 | 国产美女久久 | 欧美高清一区二区三区欧美 | 中文字幕专区高清在线观看 | 国产91嫩草精品 | 久久精品国产一区二区三区 | h视频在线观看免费网站 |