struts2復(fù)習(xí)模擬題_第1頁(yè)
struts2復(fù)習(xí)模擬題_第2頁(yè)
struts2復(fù)習(xí)模擬題_第3頁(yè)
struts2復(fù)習(xí)模擬題_第4頁(yè)
struts2復(fù)習(xí)模擬題_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、struts2復(fù)習(xí)模擬題填空:LStruts2以過(guò)濾器為核心,采用攔截器的機(jī)制來(lái)處理用戶(hù)的請(qǐng)求。2.構(gòu)建Struts2應(yīng)用的最基礎(chǔ)的幾個(gè)類(lèi)庫(kù)是_struts2-core_、_commons-logging_、_xwork_core_freamarker以及_ognl_。3 . Struts2中的控制器類(lèi)是一個(gè)普通的_POJO_o4 .如果要在JSP頁(yè)面中使用Struts2提供的標(biāo)簽庫(kù),首先必須在頁(yè)面中使用taglib編譯指令導(dǎo)入標(biāo)簽庫(kù),其中taglib編譯指令為<%taglibprefix="s"uri="strut-tags"%>o5 .在

2、Struts2表單標(biāo)簽庫(kù)中,表單標(biāo)簽為<s:form/>o6 .ActionSupport類(lèi)實(shí)現(xiàn)了_action接口和validateable等接口。7 .通過(guò)控制器類(lèi)中的validate()方法來(lái)輸出校驗(yàn)錯(cuò)誤信息。8 .在HibernateXML影射文件中描述主鍵生成機(jī)制,其屬性描述了主鍵的生成策略,至少寫(xiě)出三種策略incrementnativeuuid9 .在Hibernate中級(jí)聯(lián)操作的屬性值至少寫(xiě)出三個(gè)none、save-update、all。10 Hibernate的會(huì)話接口是Session接口,它由接口SessionFactory接口創(chuàng)建;Hibernate處理事務(wù)的接

3、口是Transaction接口;封裝HQL的接口是Criteria接口。11 .Struts2框架由Struts和WebWork框架發(fā)展而來(lái)。12 .Struts2中的控制器類(lèi)是一個(gè)普通的Classo13 .注入資源的注釋是©Resource1、簡(jiǎn)述什么是MVC?答:MVC即模型-視圖-控制器.MVC是一種設(shè)計(jì)模式,它強(qiáng)制把應(yīng)用程序的輸入處理和輸出分開(kāi).視圖是用戶(hù)看到并與之交互的界面。視圖向用戶(hù)顯示相關(guān)的數(shù)據(jù),并能接受用戶(hù)的輸入,但是它并不進(jìn)行任何實(shí)際的業(yè)務(wù)處理。模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯??刂破鹘邮苡脩?hù)的輸入并調(diào)用模型和視圖去完成用戶(hù)的需求1、用自己的話簡(jiǎn)

4、要闡述struts2的框架由哪幾部分組成,struts2的執(zhí)行流程是怎樣的?答:Struts2框架本身大致可以分為3個(gè)部分:核心控制器Fi11erDispatcher業(yè)務(wù)在控制器Action和用戶(hù)實(shí)現(xiàn)的企業(yè)業(yè)務(wù)邏輯組件。核心控制器Fi11erDispatcher是Struts2框架的基礎(chǔ),包含了框架內(nèi)部的控制流程和處理機(jī)制。業(yè)務(wù)控制器Action和業(yè)務(wù)邏輯組件是需要用戶(hù)來(lái)自己實(shí)現(xiàn)的。用戶(hù)在開(kāi)發(fā)Action和業(yè)務(wù)邏輯組件的同時(shí),還需要編寫(xiě)相關(guān)的配置文件,供核心控制器Fi1terDispatcher來(lái)使用。Struts2的工作流程與WebWork框架基本相同,所以說(shuō)Struts2是WebWork的

5、升級(jí)版本?;竞?jiǎn)要流程如下:1、客戶(hù)端瀏覽器發(fā)出HTTP請(qǐng)求。2、根據(jù)web.xml配置,該請(qǐng)求被FilterDispatcher接收。3、根據(jù)struts.xml配置,找到需要調(diào)用的Action類(lèi)和方法,并通過(guò)IoC方式,將值注入給Acitone4、Action調(diào)用業(yè)務(wù)邏輯組件處理業(yè)務(wù)邏輯,這一步包含表單驗(yàn)證。5>Action執(zhí)行完畢,根據(jù)struts,xml中的配置找到對(duì)應(yīng)的返回結(jié)果result,并跳轉(zhuǎn)到相應(yīng)頁(yè)面。6、返回HTTP響應(yīng)到客戶(hù)端瀏覽器。2、struts2的web里需要配置什么?<filter><!"配置Struts2核心Filter的名字一&

6、lt;filter-name>struts2</filter-name><!一配置Struts2核心Filter的實(shí)現(xiàn)類(lèi)一>fliter-C1aSS>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/flit©17-C13.SS></filter><!配置Filter攔截的URL><filter-mapping><!一配置Struts2的核心FilterDispatcher攔截所有用戶(hù)請(qǐng)求一><fil

7、ter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>3、輸出值的strtus標(biāo)簽、循環(huán)的struts標(biāo)簽、判斷的strtuts標(biāo)簽分別是什么?<s:property>、<s:iterator、<s:if></s:if><s:else></s:else><s:elseifX/s:elseif>4、要調(diào)用struts標(biāo)簽需要導(dǎo)入什么?<%tagliburi=&qu

8、ot;/struts-tags”prefixes"%>6 .列舉struts2web應(yīng)用中常用的4個(gè).jar文件。commons-logging-1.0.4.jarfreemarker-2.3.8.jarstruts2-core-2.0.14.jarognl-2.6.11.jarxwork-2.0.7.jar7 .簡(jiǎn)述servlet的生命周期。Servlet被服務(wù)器實(shí)例化后,容器運(yùn)行其init()方法,請(qǐng)求到達(dá)時(shí)運(yùn)行其service()方法,service。方法自動(dòng)派遣運(yùn)行與請(qǐng)求對(duì)應(yīng)的doGet、doPost方法等,當(dāng)服務(wù)器決定將實(shí)例銷(xiāo)毀的時(shí)候調(diào)用其destroy方法一、編程題

9、1、給出以下Action的Struts.XML配置文件描述(注:請(qǐng)求為T(mén)est/Hello.action,返回頁(yè)面為WebRoot根目錄下的success.jsp)packagecom.yourcompany.action;publicclassHe11oWor1dActionprivateStringmessage;publicStringgetMessage()returnmessage;)publicvoidsetMessage(Stringmessage)(this,message=message;)publicStringonPlay()throwsExceptionSystem,o

10、ut.printin(this.getMessage();returnsuccess;)publicStringexecute()throwsException(System,out.printin(this.getMessage();returnsuccess;)參考答案<struts>(packagename=Udef<iultnnamespace=extends="struts-default''<actionname="Hello"class="com.yourcompeiny.ciotionHelloWo

11、rldAction"><resultname=''success">/success.jsp</result></action></package></struts><packagename="test"extends="struts-default”namespace="/Test”><actionname="Hello_onPlaygo”class="codlyourcompany.action.HelloWor

12、ldAction“method="onPlay”><resultname="suceess"X/result></actionX/package>2、在Action類(lèi)UserAction中存在對(duì)象屬性Useruser,其中User類(lèi)中存在StringuserName屬性,UserAction的部分代碼如下所示,請(qǐng)給出使用0GNL語(yǔ)言從valueStack,Session,Request三種作用域中獲得userName屬性對(duì)應(yīng)value的代碼答:publicclassUserActionprivateUseruser;/getter,s

13、etter方法略publicStringexecute()ActionContext.getContext()getSession()put("userName”,user.getUserName()參考答案:valueStack取值:<s:propertyvalue=Uuser.userNeune”/>從Session取值:<s : property value= 'session . userNeime u/>從 Request 取 值<s:propertyvalue=99ifrequest.user.userNeune”/>3、請(qǐng)編寫(xiě)

14、一個(gè)攔截器,該攔截器可以獲得用戶(hù)輸入的用戶(hù)名這個(gè)數(shù)據(jù),業(yè)務(wù)邏輯為逐個(gè)判斷用戶(hù)名中是否包含“你”,“我”,“他”三個(gè)數(shù)據(jù),如果包含則直接返回輸入頁(yè)面,如果不包含則運(yùn)行至PersonAction。(除代碼外,要給出攔截器和Action的配置文件)提示:判斷一個(gè)字符串是否包含指定的字符串,可以使用字符串對(duì)象的contains方法。參考答案:struts.xml配置文件主要內(nèi)容:packagename="defciult"namespace=,r/,rextends="struts-defciult"><interceptors><int

15、erceptorname=upersonlcpt”class="com.test.icptPersonInterceptornX/interceptor></interceptors><default-interceptor-refname="personIopt"X/default-interceptor-ref><actionname=uperson,rclass=r,com.test,action.PersonAationu><resultname="Indexn>/indexjsp</r

16、esult><resultname=nsuccess”>/success.jsp</result></action></package>攔截器類(lèi):packagecom.test.icpt;importjava.util.Map;importcom,opensymphony.xwork2ActionContext;importcom,opensymphony.xwork2Actioninvocation;erceptorAbstractinterceptor;publiccla

17、ssPersonHnt;erueptorextendsAbstractinterceptorOverridepublicStringintercept(Actioninvocationinvocation)throwsExceptionActionContextac=invocationgetlnvocationContext();Mapparameters=aa.getParameters();Stringparams=(String)parameters,get(nusernamen);Stringusername=params0;if(usernamecontains(''

18、;你'')|username.contains(我")|username.contains(他'')returnnindex”;)elsePersonActionaction=(PersonAction)invocation,getAction();action.setUsername(username);returninvocation,invoke();5.請(qǐng)給出Struts2驗(yàn)證框架關(guān)于Email格式,年齡在1-100之間,提交非空的配置文件。<validators><fieldname="student.sname”

19、><fie1d-validatortype="requiredstring”><paramname="doTr/param><message用戶(hù)名不能為空/message</field-validator><fie1d-validatortype="stringlength”<paramname="minLength">2</param><paramname="maxLength">6</param>message用戶(hù)名長(zhǎng)度不能小于$minLength字符,不能大于$maxLength/message</field-validator></field><fieldname="student,sage"<field-validatortype=<paramname="min">1</param>message年齡不能小于$min!</message></field-validator><field-validatort

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論