黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 職業(yè)指南 面試總能碰到的三大框架最新面試題

面試總能碰到的三大框架最新面試題

更新時(shí)間:2022-12-21 16:05:01 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1487次

Struts工作機(jī)制?

工作機(jī)制:

Struts的工作流程:

在web應(yīng)用啟動(dòng)時(shí)就會(huì)加載初始化ActionServlet,ActionServlet從

struts-config.xml文件中讀取配置信息,把它們存放到各種配置對(duì)象

當(dāng)ActionServlet接收到一個(gè)客戶請(qǐng)求時(shí),將執(zhí)行如下流程.

-(1)檢索和用戶請(qǐng)求匹配的ActionMapping實(shí)例,如果不存在,就返回請(qǐng)求路徑無(wú)效信息;

-(2)如果ActionForm實(shí)例不存在,就創(chuàng)建一個(gè)ActionForm對(duì)象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對(duì)象中;

-(3)根據(jù)配置信息決定是否需要表單驗(yàn)證.如果需要驗(yàn)證,就調(diào)用ActionForm的validate()方法;

-(4)如果ActionForm的validate()方法返回null或返回一個(gè)不包含ActionMessage的ActuibErrors對(duì)象, 就表示表單驗(yàn)證成功;

-(5)ActionServlet根據(jù)ActionMapping所包含的映射信息決定將請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)Action,如果相應(yīng)的Action實(shí)例不存在,就先創(chuàng)建這個(gè)實(shí)例,然后調(diào)用Action的execute()方法;

-(6)Action的execute()方法返回一個(gè)ActionForward對(duì)象,ActionServlet在把客戶請(qǐng)求轉(zhuǎn)發(fā)給 ActionForward對(duì)象指向的JSP組件;

-(7)ActionForward對(duì)象指向JSP組件生成動(dòng)態(tài)網(wǎng)頁(yè),返回給客戶;

說(shuō)下Struts的設(shè)計(jì)模式

MVC模式: web應(yīng)用程序啟動(dòng)時(shí)就會(huì)加載并初始化ActionServler。用戶提交表單時(shí),一個(gè)配置好的ActionForm對(duì)象被創(chuàng)建,并被填入表單相應(yīng)的數(shù)據(jù),ActionServler根據(jù)Struts-config.xml文件配置好的設(shè)置決定是否需要表單驗(yàn)證,如果需要就調(diào)用ActionForm的Validate()驗(yàn)證后選擇將請(qǐng)求發(fā)送到哪個(gè)Action,如果Action不存在,ActionServlet會(huì)先創(chuàng)建這個(gè)對(duì)象,然后調(diào)用Action的execute()方法。Execute()從ActionForm對(duì)象中獲取數(shù)據(jù),完成業(yè)務(wù)邏輯,返回一個(gè)ActionForward對(duì)象,ActionServlet再把客戶請(qǐng)求轉(zhuǎn)發(fā)給ActionForward對(duì)象指定的jsp組件,ActionForward對(duì)象指定的jsp生

成動(dòng)態(tài)的網(wǎng)頁(yè),返回給客戶。

攔截器和過(guò)濾器的區(qū)別

1、攔截器是基于java反射機(jī)制的,而過(guò)濾器是基于函數(shù)回調(diào)的。

2、過(guò)濾器依賴于servlet容器,而攔截器不依賴于servlet容器。

3、攔截器只能對(duì)Action請(qǐng)求起作用,而過(guò)濾器則可以對(duì)幾乎所有請(qǐng)求起作用。

4、攔截器可以訪問(wèn)Action上下文、值棧里的對(duì)象,而過(guò)濾器不能。

5、在Action的生命周期中,攔截器可以多次調(diào)用,而過(guò)濾器只能在容器初始化時(shí)被調(diào)用一次。

struts2有哪些優(yōu)點(diǎn)?

1)在軟件設(shè)計(jì)上Struts2的應(yīng)用可以不依賴于Servlet API和struts API。 Struts2的這種設(shè)計(jì)屬于無(wú)侵入式設(shè)計(jì);

2)攔截器,實(shí)現(xiàn)如參數(shù)攔截注入等功能;

3)類型轉(zhuǎn)換器,可以把特殊的請(qǐng)求參數(shù)轉(zhuǎn)換成需要的類型;

4)多種表現(xiàn)層技術(shù),如:JSP、freeMarker、Velocity等;

5)Struts2的輸入校驗(yàn)可以對(duì)指定某個(gè)方法進(jìn)行校驗(yàn);

6)提供了全局范圍、包范圍和Action范圍的國(guó)際化資源文件管理實(shí)現(xiàn)

struts2是如何啟動(dòng)的?

struts2框架是通過(guò)Filter啟動(dòng)的,即StrutsPrepareAndExecuteFilter,此過(guò)濾器為struts2的核心過(guò)濾器;

StrutsPrepareAndExecuteFilter的init()方法中將會(huì)讀取類路徑下默認(rèn)的配置文件struts.xml完成初始化操作。struts2讀取到struts.xml的內(nèi)容后,是將內(nèi)容封裝進(jìn)javabean對(duì)象然后存放在內(nèi)存中,以后用戶的每次請(qǐng)求處理將使用內(nèi)存中的數(shù)據(jù),而不是每次請(qǐng)求都讀取struts.xml文件。

struts2框架的核心控制器是什么?它有什么作用?

1)Struts2框架的核心控制器是StrutsPrepareAndExecuteFilter。

2)作用:

負(fù)責(zé)攔截由/*指定的所有用戶請(qǐng)求,當(dāng)用戶請(qǐng)求到達(dá)時(shí),該Filter會(huì)過(guò)濾用戶的請(qǐng)求。默認(rèn)情況下,如果用戶請(qǐng)求的路徑

不帶后綴或者后綴以.action結(jié)尾,這時(shí)請(qǐng)求將被轉(zhuǎn)入struts2框架處理,否則struts2框架將略過(guò)該請(qǐng)求的處理。

可以通過(guò)常量”struts.action.extension”修改action的后綴,如:

如果用戶需要指定多個(gè)請(qǐng)求后綴,則多個(gè)后綴之間以英文逗號(hào)(,)隔開。

struts2配置文件的加載順序?

struts.xml ——> struts.properties

常量可以在struts.xml或struts.properties中配置,如果在多個(gè)文件中配置了同一個(gè)常量,則后一個(gè)文件中配置的常量值會(huì)覆蓋前面文件中配置的常量值.

struts.xml文件的作用:通知Struts2框架加載對(duì)應(yīng)的Action資源

struts2常量的修改方式?

常量可以在struts.xml或struts.properties中配置,兩種配置方式如下:

1)在struts.xml文件中配置常量

2)在struts.properties中配置常量(struts.properties文件放置在src下):

struts.action.extension=do

ActionContext、ServletContext、pageContext的區(qū)別?

1)ActionContext是當(dāng)前的Action的上下文環(huán)境,通過(guò)ActionContext可以獲取到request、session、ServletContext等與Action有關(guān)的對(duì)象的引用;

2)ServletContext是域?qū)ο螅粋€(gè)web應(yīng)用中只有一個(gè)ServletContext,生命周期伴隨整個(gè)web應(yīng)用;

3)pageContext是JSP中的最重要的一個(gè)內(nèi)置對(duì)象,可以通過(guò)pageContext獲取其他域?qū)ο蟮膽?yīng)用,同時(shí)它是一個(gè)域?qū)ο螅饔梅秶会槍?duì)當(dāng)前頁(yè)面,當(dāng)前頁(yè)面結(jié)束時(shí),pageContext銷毀,

生命周期是JSP四個(gè)域?qū)ο笾凶钚〉摹?/p>

result的type屬性中有哪幾種結(jié)果類型?

一共10種:

dispatcher

struts默認(rèn)的結(jié)果類型,把控制權(quán)轉(zhuǎn)發(fā)給應(yīng)用程序里的某個(gè)資源不能把控制權(quán)轉(zhuǎn)發(fā)給一個(gè)外部資源,若需要把控制權(quán)重定向到一個(gè)外部資源, 應(yīng)該使用

redirect結(jié)果類型

redirect 把響應(yīng)重定向到另一個(gè)資源(包括一個(gè)外部資源)

redirectAction 把響應(yīng)重定向到另一個(gè) Action

freemarker、velocity、chain、httpheader、xslt、plainText、stream

攔截器的生命周期與工作過(guò)程?

1)每個(gè)攔截器都是實(shí)現(xiàn)了Interceptor接口的 Java 類;

2)init(): 該方法將在攔截器被創(chuàng)建后立即被調(diào)用, 它在攔截器的生命周期內(nèi)只被調(diào)用一次. 可以在該方法中對(duì)相關(guān)資源進(jìn)行必要的初始化;

3)intercept(ActionInvocation invocation): 每攔截一個(gè)動(dòng)作請(qǐng)求, 該方法就會(huì)被調(diào)用一次;

4)destroy: 該方法將在攔截器被銷毀之前被調(diào)用, 它在攔截器的生命周期內(nèi)也只被調(diào)用一次;

5)struts2中有內(nèi)置了18個(gè)攔截器。

以上就是“面試總能碰到的三大框架最新面試題”,你能回答上來(lái)嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動(dòng)力節(jié)點(diǎn)Java官網(wǎng)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: free中国性xxxx | 成人嗯啊视频在线观看 | 欧美色图888 | 免费黄色一级片 | 精品国产免费人成高清 | 国产高清免费在线观看 | 欧美在线精品一区二区在线观看 | 午夜爱爱影院 | 成人国产网站v片免费观看 成人国产一区二区三区 | 99精品欧美 | 福利网站导航 | 妞干网免费在线观看 | 欧美激情视频免费 | 亚洲五月激情 | 久久人人爽人人爽人 | 亚洲精品另类有吗中文字幕 | 久久99精品久久 | 多多多色麻豆 | 色欲麻豆国产福利精品 | 我不卡伦理 | 手机成人在线视频 | 色小视频| 欧美一区日韩精品 | 久久亚洲热 | 欧美日韩亚洲色图 | 国产精品大片 | 成人免费黄色网址 | 欧美乱妇视频 | 国产成人综合久久精品亚洲 | 日日摸夜夜添夜夜添人人爽 | 亚洲午夜精品在线 | 欧美国产黄色 | 欧美乱子伦xxxx96 | 日韩成人黄色片 | 欧美18videosex性欧 | 欧美国产日韩在线 | 欧美精品hdvdeosex4k | 亚洲欧美精品成人久久91 | 波多野结衣50连精喷在线 | 久操精品在线 | 全黄性高视频 |