• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學(xué)習(xí)啦 > 創(chuàng)業(yè)指南 > 職場(chǎng) > 面試題 > STRUTS常見(jiàn)面試題

    STRUTS常見(jiàn)面試題

    時(shí)間: 護(hù)托1061 分享

    STRUTS常見(jiàn)面試題

      Struts框架的數(shù)據(jù)驗(yàn)證可分為幾種類型?下面就由學(xué)習(xí)啦小編為大家介紹一下STRUTS常見(jiàn)面試題的文章,歡迎閱讀。

      STRUTS常見(jiàn)面試題篇1

      1. 簡(jiǎn)述Struts框架的初始化流程。

      答案:對(duì)于采用Struts框架的Web應(yīng)用,在Web應(yīng)用啟動(dòng)時(shí)就會(huì)加載并初始化控制器ActionServlet

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

      在Struts framework中, Controller主要是ActionServlet,但是對(duì)于業(yè)務(wù)邏輯的操作則主要由Action、ActionMapping、ActionForward這幾個(gè)組件協(xié)調(diào)完成(也許這幾個(gè)組件,應(yīng)該劃分到模型中的業(yè)務(wù)邏輯一塊)。

      其中,Action扮演了真正的控制邏輯的實(shí)現(xiàn)者,而ActionMapping和ActionForward則指定了不同業(yè)務(wù)邏輯或流程的運(yùn)行方向。

      2. 簡(jiǎn)述Struts框架響應(yīng)客戶請(qǐng)求的工作流程

      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è)不包含ActionMessge的ActionErrors對(duì)象,就表示表單驗(yàn)證成功。

      5. ActionServlet根據(jù)AtionMapping實(shí)例包含的映射信息決定將請(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)頁(yè)面,返回給客戶。

      對(duì)于以上流程的步驟(4),如果ActionForm的validate()方法返回一個(gè)包含一個(gè)或多個(gè)ActionError的ActionErrors對(duì)象,就表示表單驗(yàn)證失敗,此時(shí)ActionServlet將直接把請(qǐng)求轉(zhuǎn)發(fā)給包含客戶提交表單的JSP組件。在這種情況下,不會(huì)再創(chuàng)建Action對(duì)象并調(diào)用Action的execute方法。

      3 Struts框架的數(shù)據(jù)驗(yàn)證可分為幾種類型?

      表單驗(yàn)證(由ActionForm Bean處理):如果用戶沒(méi)有在表單中輸入姓名,就提交表單,將生成表單驗(yàn)證錯(cuò)誤

      業(yè)務(wù)邏輯驗(yàn)證(由Action處理):如果用戶在表單中輸入的姓名為“Monster”,按照本應(yīng)用的業(yè)務(wù)規(guī)則,不允許向“Monster”打招呼,因此將生成業(yè)務(wù)邏輯錯(cuò)誤。

      4 簡(jiǎn)述Form Bean的表單驗(yàn)證流程。

      1、當(dāng)用戶提交了HTML表單,Struts框架自動(dòng)把表單數(shù)據(jù)組裝到ActionForm Bean中。

      2、接下來(lái)Struts框架會(huì)調(diào)用ActionForm Bean的validate()方法進(jìn)行表單驗(yàn)證。

      3、如果validate()方法返回的ActionErrors 對(duì)象為null,或者不包含任何ActionMessage對(duì)象,就表示沒(méi)有錯(cuò)誤,數(shù)據(jù)驗(yàn)證通過(guò)。

      4、如果ActionErrors中包含ActionMessage對(duì)象,就表示發(fā)生了驗(yàn)證錯(cuò)誤,Struts框架會(huì)把ActionErrors對(duì)象保存到request范圍內(nèi),然后把請(qǐng)求轉(zhuǎn)發(fā)到恰當(dāng)?shù)囊晥D組件,視圖組件通過(guò)標(biāo)簽把request范圍內(nèi)的ActionErrors對(duì)象中包含的錯(cuò)誤消息顯示出來(lái),提示用戶修改錯(cuò)誤。

      5在struts配置文件中action元素包含哪些屬性和子元素?

      path屬性:指定請(qǐng)求訪問(wèn)Action的路徑

      type屬性:指定Action的完整類名

      name屬性:指定需要傳遞給Action的ActionForm Bean

      scope屬性:指定ActionForm Bean的存放范圍

      validate屬性:指定是否執(zhí)行表單驗(yàn)證

      input屬性:指定當(dāng)表單驗(yàn)證失敗時(shí)的轉(zhuǎn)發(fā)路徑。

      元素還包含一個(gè)子元素,它定義了一個(gè)請(qǐng)求轉(zhuǎn)發(fā)路徑。

      6. 簡(jiǎn)單敘述ActionForm Bean的作用

      1、ActionForm Bean也是一種JavaBean,除了具有一些JavaBean的常規(guī)方法,還包含一些特殊的方法,用于驗(yàn)證HTML表單數(shù)據(jù)以及將其屬性重新設(shè)置為默認(rèn)值。

      2、Struts框架利用ActionForm Bean來(lái)進(jìn)行View組件和Controller組件之間表單數(shù)據(jù)的傳遞。

      3、Struts框架把View組件接受到的用戶輸入的表單數(shù)據(jù)保存在ActionForm Bean中,把它傳遞給Controller組件,Controller組件可以對(duì)ActionForm Bean中的數(shù)據(jù)進(jìn)行修改JSP文件使用Struts標(biāo)簽讀取修改后的ActionForm Bean的信息,重新設(shè)置HTML表單。

      7 .敘述ActionForm執(zhí)行步驟

      (1)檢查Action的映射,確定Action中已經(jīng)配置了對(duì)ActionForm的映射

      (2)根據(jù)name屬性,查找form bean的配置信息

      (3)檢查Action的formbean的使用范圍,確定在此范圍下,是否已經(jīng)有此form bean的實(shí)例。

      (4)假如當(dāng)前范圍下,已經(jīng)存在了此form bean的實(shí)例,而是對(duì)當(dāng)前請(qǐng)求來(lái)說(shuō),是同一種類型的話,那么就重用。

      (5)否則,就重新構(gòu)建一個(gè)form bean的實(shí)例

      (6)form bean的reset()方法備調(diào)用

      (7)調(diào)用對(duì)應(yīng)的setter方法,對(duì)狀態(tài)屬性賦值

      (8)如果validatede的屬性被設(shè)置為true,那么就調(diào)用form bean的validate()方法。

      (9)如果validate()方法沒(méi)有返回任何錯(cuò)誤,控制器將ActionForm作為參數(shù),傳給Action實(shí)例的execute()方法并執(zhí)行。

      8、FormBean的作用

      答:FormBean是一種JAVABean,除了具有JAVABean的常規(guī)方法,還包含一些特殊方法,用于驗(yàn)證表單數(shù)據(jù),以及將其屬性重新設(shè)置為默認(rèn)值。 FormBean用來(lái)進(jìn)行View組件和Controller組件之間表單數(shù)據(jù)的傳遞。View組件接收到用戶輸入的表單數(shù)據(jù),保存在FormBean中,把它傳遞給Controller組件,Controller組件可以對(duì)FormBean中的數(shù)據(jù)進(jìn)行修改。

      9、Forward與Global-Forward的區(qū)別

      答:Forward是根據(jù)Action return的值找到對(duì)應(yīng)的JSP頁(yè)。當(dāng)多個(gè)Action共同return同一個(gè)值時(shí),可將這個(gè)Forward元素寫(xiě)在Global-Forward中。

      STRUTS常見(jiàn)面試題篇2

      1.問(wèn)題:在Struts應(yīng)用的視圖中包含哪些組件?

      (A) JSP

      (B) Servlet

      (C) ActionServlet

      (D) Action

      (E) 代表業(yè)務(wù)邏輯或業(yè)務(wù)數(shù)據(jù)的JavaBean

      (F) EJB

      (G) 客戶化標(biāo)簽

      2問(wèn)題:在Struts應(yīng)用的控制器中包含哪些組件?

      (A) JSP

      (B) Servlet

      (C) ActionServlet

      (D) Action

      (E)代表業(yè)務(wù)邏輯或業(yè)務(wù)數(shù)據(jù)的JavaBean

      (F) EJB

      (G) 客戶化標(biāo)簽

      3.在struts配置文件中action元素包含哪些屬性和子元素?

      path屬性:指定請(qǐng)求訪問(wèn)Action的路徑

      type屬性:指定Action的完整類名

      name屬性:指定需要傳遞給Action的ActionForm Bean

      scope屬性:指定ActionForm Bean的存放范圍

      validate屬性:指定是否執(zhí)行表單驗(yàn)證

      input屬性:指定當(dāng)表單驗(yàn)證失敗時(shí)的轉(zhuǎn)發(fā)路徑。

      元素還包含一個(gè)子元素,它定義了一個(gè)請(qǐng)求轉(zhuǎn)發(fā)路徑。

      4. 問(wèn)題:在Struts應(yīng)用的模型中包含哪些組件?

      (A) JSP

      (B) Servlet

      (C) ActionServlet

      (D) Action

      (E) 代表業(yè)務(wù)邏輯或業(yè)務(wù)數(shù)據(jù)的JavaBean

      (F) EJB

      (G) 客戶化標(biāo)簽

      5. 問(wèn)題: struts框架中,關(guān)于FormBean,下列說(shuō)法正確的是:

      A FormBean是一種數(shù)據(jù)bean,主要用來(lái)封裝表單提交上來(lái)的數(shù)據(jù),并把這些數(shù)據(jù)傳遞給Action

      B 在FormBean中可以對(duì)頁(yè)面上傳遞來(lái)的參數(shù)進(jìn)行一下格式上的驗(yàn)證,這種驗(yàn)證是一種客戶端的驗(yàn)證

      C 用戶每次提交表單,都會(huì)產(chǎn)生一個(gè)新的FormBean實(shí)例

      D 動(dòng)態(tài)FormBean不能進(jìn)行驗(yàn)證操作

      6. 問(wèn)題:struts框架中,在一個(gè)Action的配置信息中,name屬性指的是:

      A 當(dāng)前action實(shí)例的名字

      B 當(dāng)前action所在的類的名字

      C 該Action中調(diào)用的FormBean的實(shí)例的名字

      D 該Action中調(diào)用的FormBean的類的所在包名

      7. 問(wèn)題:關(guān)于struts項(xiàng)目中的類與MVC模式的對(duì)應(yīng)關(guān)系,說(shuō)法錯(cuò)誤的是?

      A Jsp文件實(shí)現(xiàn)視圖View的功能

      B ActionServlet這一個(gè)類是整個(gè)struts項(xiàng)目的控制器

      C ActionForm、Action都屬于Model部分

      D 一個(gè)struts項(xiàng)目只能有一個(gè)Servlet

      8、問(wèn)題:以下哪些說(shuō)法是正確的?

      選項(xiàng):(A)每個(gè)HTTP請(qǐng)求對(duì)應(yīng)一個(gè)單獨(dú)的ActionServlet實(shí)例

      (B)對(duì)于每個(gè)請(qǐng)求訪問(wèn)HelloAction的HTTP請(qǐng)求,Struts框架會(huì)創(chuàng)建一個(gè)單獨(dú)的HelloAction實(shí)例。

      (C)每個(gè)子應(yīng)用對(duì)應(yīng)一個(gè)單獨(dú)的RequestProcessor實(shí)例

      (D)每個(gè)子應(yīng)用對(duì)應(yīng)一個(gè)單獨(dú)的web.xml文件

      9 ActionForm Bean對(duì)象是由誰(shuí)創(chuàng)建的?

      (A) 標(biāo)簽處理類

      (B) ActionServlet

      (C) RequestProcessor

      (D) Action

      10、struts框架,錯(cuò)誤的是?

      A Struts中無(wú)法完成上傳功能

      B Struts框架基于MVC模式

      C Struts框架容易引起流程復(fù)雜、結(jié)構(gòu)不清晰等問(wèn)題

      D Struts可以有效地降低項(xiàng)目的類文件數(shù)目

      STRUTS常見(jiàn)面試題篇3

      1、問(wèn)題:把靜態(tài)文本放在Resource Bundle中,而不是直接在JSP文件中包含這些靜態(tài)文本,有什么優(yōu)點(diǎn)?

      提高可維護(hù)性 提高可重用性 支持國(guó)際化

      2. 問(wèn)題:關(guān)于struts項(xiàng)目中的類與MVC模式的對(duì)應(yīng)關(guān)系,說(shuō)法錯(cuò)誤的是?

      A Jsp文件實(shí)現(xiàn)視圖View的功能

      B ActionServlet這一個(gè)類是整個(gè)struts項(xiàng)目的控制器

      C ActionForm、Action都屬于Model部分

      D 一個(gè)struts項(xiàng)目只能有一個(gè)Servlet

      3. Struts工作機(jī)制?為什么要使用Struts?

      工作機(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è),返回給客戶;

      為什么要用:

      JSP、Servlet、JavaBean技術(shù)的出現(xiàn)給我們構(gòu)建強(qiáng)大的企業(yè)應(yīng)用系統(tǒng)提供了可能。但用這些技術(shù)構(gòu)建的系統(tǒng)非常的繁亂,所以在此之上,我們需要一個(gè)規(guī)則、一個(gè)把這些技術(shù)組織起來(lái)的規(guī)則,這就是框架,Struts便應(yīng)運(yùn)而生。

      基于Struts開(kāi)發(fā)的應(yīng)用由3類組件構(gòu)成:控制器組件、模型組件、視圖組件

      4. Struts的validate框架是如何驗(yàn)證的?

      在struts配置文件中配置具體的錯(cuò)誤提示,再在FormBean中的validate()方法具體調(diào)用。

      5. 說(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è),返回給客戶。

      6、STRUTS的應(yīng)用(如STRUTS架構(gòu))

      Struts 是采用Java Servlet/JavaServer Pages技術(shù),開(kāi)發(fā)Web應(yīng)用程序的開(kāi)放源碼的framework。采用Struts能開(kāi)發(fā)出基于MVC(Model-View-Controller)設(shè)計(jì)模式的應(yīng)用構(gòu)架。Struts有如下的主要功能:一.包含一個(gè)controller servlet,能將用戶的請(qǐng)求發(fā)送到相應(yīng)的Action對(duì)象。二.JSP自由tag庫(kù),并且在controller servlet中提供關(guān)聯(lián)支持,幫助開(kāi)發(fā)員創(chuàng)建交互式表單應(yīng)用。三.提供了一系列實(shí)用對(duì)象:XML處理、通過(guò)Java reflection APIs自動(dòng)處理JavaBeans屬性、國(guó)際化的提示和消息。

    3204682 主站蜘蛛池模板: 男人的肌肌捅女人的肌肌| 欧美综合区自拍亚洲综合绿色 | 日韩精品一区二区三区免费视频| 国产在线精品网址你懂的| 一区二区三区免费视频观看| 最近中文字幕mv免费高清电影 | 日本漫画大全无翼无彩全番| 四虎影视免费在线| 超清首页国产亚洲丝袜| 日日婷婷夜日日天干| 先锋影音av资源网| 99精品人妻无码专区在线视频区| 欧美怡红院免费的全部视频| 国产在线一卡二卡| 91av视频网站| 日本妇人成熟免费| 亚洲国产精品自产在线播放| 精品人妻系列无码人妻免费视频| 夫妇交换性三中文字幕| 亚洲国产欧美在线看片一国产 | 成年人视频网址| 亚洲av无码一区二区三区鸳鸯影院 | 91综合久久婷婷久久| 欧美又黄又嫩大片a级| 国产一级做a爰片在线| av免费网址在线观看| 日韩精品午夜视频一区二区三区| 亚洲精品动漫在线| 要灬要灬再深点受不了好舒服 | 最近中文字幕完整视频高清电影| 亚洲综合精品第一页| 青草资源视频在线高清观看| 夫妇交换俱乐部微信群| 丰满上司的美乳| 欧美最猛性xxxxx69交| 免费毛片网站在线观看| 日本zzzzwww大片免费| 国语自产偷拍精品视频偷拍 | 精字窝全球最大华人| 国产精品午夜爆乳美女视频| a毛片免费视频|