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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 15道經典struts2面試題(附答案)

15道經典struts2面試題(附答案)

更新時間:2020-10-30 10:49:06 來源:動力節點 瀏覽3185次

框架一直都是java編程技術學習中的重點,Struts2是個非常優秀的開源框架,一名java程序員要求能用Struts2框架進行開發,所以在java面試題中也會經常出現對struts2知識的考察,下面整理了經典struts2面試題,這些題目中包含的是常考struts2框架知識點,有面試需要的朋友們可以看看下面總結的struts2面試題。

image.png

1、描述Struts2的工作原理是怎樣的?

答:客戶端發送請求→請求經過一系列過濾器→FilterDispatcher通過ActionMapper來決定這個Request需要調用哪個Action→FilterDispatcher把請求的處理交給ActionProxy→通過ConfigurationManager詢問Struts配置文件(Struts.xml),找到需要調用的Action類→ActionProxy創建一個ActionInvocation的實例→調用Action→執行完畢,返回結果


2、Struts2有哪些優點?

答:(1)在軟件設計上Struts2的應用可以不依賴于Servlet API和struts API,Struts2的這種設計屬于無侵入式設計;(2)攔截器,實現如參數攔截注入等功能;(3)類型轉換器,可以把特殊的請求參數轉換成需要的類型;(4)多種表現層技術,如:JSP、freeMarker、Velocity等;(5)Struts2的輸入校驗可以對指定某個方法進行校驗;(6)提供了全局范圍、包范圍和Action范圍的國際化資源文件管理實現;(7)實現MVC模式,結構清晰,使開發者只關注業務邏輯的實現,有豐富的tag可以用,大大提高了開發效率。


3、在struts2中如何實現轉發和重定向?

答:在struts.xml中配置type="redirect"(重定向);type="redirectAction"(重定向);type="dispatcher";type="chain";(請求轉發)


4、Struts2中的type類型有哪些?

答:chain、redirec、,redirectAction、json、dispatcher。


5、struts2默認能解決get和post提交方式的亂碼問題嗎?

答:不能。struts.i18n.encoding=UTF-8屬性值只能解析POST提交下的亂碼問題。


6、攔截器和過濾器的區別有哪些?

答:(1)攔截器是基于java反射機制的,而過濾器是基于函數回調的;(2)過濾器依賴于servlet容器,而攔截器不依賴于servlet容器;(3)攔截器只能對Action請求起作用,而過濾器則可以對幾乎所有請求起作用;(4)攔截器可以訪問Action上下文、值棧里的對象,而過濾器不能;(5)在Action的生命周期中,攔截器可以多次調用,而過濾器只能在容器初始化時被調用一次。


7、ActionContext、ServletContext、pageContext的區別?

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


8、Struts2中Action配置的注意事項有哪些?

答:需要注意的是(1)name包名稱,在struts2的配置文件中,包名不能重復,name并不是真正包名,只是為了管理Action;(2)namespace和 的name屬性,決定Action的訪問路徑 (以/開始 ) ;(3)extends繼承哪個包,通常開發中繼承struts-default包(struts-default包在 struts-default.xml 中定義 )。

image.png

9、Struts2的封裝方式有哪些?

答:一是屬性封裝:(1)在action中設置成員變量,變量名與表單中的name屬性值相同;(2)生成變量的set方法。

二是模型驅動(常用):(1)action實現ModeDriven接口;(2)在action 里創建實體類對象;(3)實現接口的getModel方法并返回所創建的對象。

三是表達式封裝:(1)在action中聲明實體類;(2)生成實體類的set和get方法;(3)在表單輸入項的name屬性值里面寫表達式。


10、Action和攔截器線程安全嗎?

答:Struts2的Action類是線程安全的,因為每個請求一個實例。Struts2的攔截器是單例,所以它不是線程安全的,我們需要仔細地實現它們,以避免與共享數據的任何問題。


11、Struts2的名稱空間namespace 有什么用?

答:我們能使用名稱空間基于功能分離我們的Action類,如admin user和客戶等模塊。


12、什么攔截器負責將請求參數映射到action類的java bean屬性?

com.opensymphony.xwork2.interceptor.ParametersInterceptor 配置在struts-default包中,名稱是"params"。這是basicStack和 defaultStack一部分。


13、簡述Struts2工作流程

答:(1)客戶端瀏覽器發出HTTP請求;(2)根據web.xml配置,該請求被FilterDispatcher接收;(3)根據struts.xml配置,找到需要調用的Action類和方法,并通過IoC方式,將值注入給Aciton;(4)Action調用業務邏輯組件處理業務邏輯,這一步包含表單驗證;(5)Action執行完畢,根據struts.xml中的配置找到對應的返回結果result,并跳轉到相應頁面;(6)返回HTTP響應到客戶端瀏覽器


14、攔截器的生命周期與工作過程?

答:(1)每個攔截器都是實現了Interceptor接口的java類;(2)init(): 該方法將在攔截器被創建后立即被調用, 它在攔截器的生命周期內只被調用一次. 可以在該方法中對相關資源進行必要的初始化;(3)intercept(ActionInvocation invocation): 每攔截一個動作請求, 該方法就會被調用一次;(4)destroy: 該方法將在攔截器被銷毀之前被調用, 它在攔截器的生命周期內也只被調用一次;(5)struts2中有內置了18個攔截器。


15、Struts2中攔截器有哪些好處?

答:攔截器的一些好處是:攔截器在實現高度分離關注方面起著至關重要的作用。Struts2攔截器是可配置的,我們可以為我們想要的任何動作配置它。我們可以創建自己的自定義攔截器來執行一些常見任務,例如請求參數記錄,身份驗證等。這有助于我們在一個位置處理常見任務,從而降低維護成本。我們可以創建攔截器堆棧以用于不同的操作。


Struts2 是一個相當強大的javaweb開源框架,框架結構清晰,開發流程一目了然,開發人員可以很好的掌控開發的過程,是java程序員必須會使用的框架,所以上面的Struts2面試題大家要認真學習,都是關于Struts2相關的基本知識,在java面試題中出現的幾率很大。希望這15道Struts2面試題對大家的面試可以有所幫助,并通過java教程中對Struts2框架的學習,可以掌握快速搭建好一個Struts2框架的技能。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久草热在线 | 天天做夜夜做 | 毛片链接 | 成人欧美一区二区三区 | 免费观看黄色小视频 | 色八戒国产一区二区三区四区 | 男人天堂网在线观看 | 欧美一区二区三区精品影视 | 天天干天天干天天 | 玖热在线| 亚洲天天做日日做天天看2018 | 黄色毛片一级 | 国产精品成人69xxx免费视频 | 国产乱子伦视频大全 | 亚洲精品久久久久久小说 | 久久国产一区二区三区 | 色综合久久精品中文字幕 | 日本一区二区三 | 亚洲光棍天堂 | 2022国产男人亚洲欧美天堂 | 久久久久久草 | 热久久在线观看 | 成人a毛片免费全部播放 | 天天干天天拍天天射 | 国产热热| 日韩欧美中文在线 | 94在线 | 日本α级毛片视频免费观看 | 青草免费视频 | 国产系列在线播放 | 久久91精品久久91综合 | 免费一级特黄3大片视频 | 国内精品自在自线香蕉 | 国产在线看片护士免费视频 | 一级黄色α片 | 亚洲国产综合专区在线播一一 | 日本操比 | 日韩欧美亚洲综合久久影院d3 | 亚洲久久草 | 日本中文一二区有码在线观看 | 欧美在线播放成人免费 |