版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章P741-8什么是MVC模式?模型(Model)視圖(View)控制器(controller)210616Struts2的工作原理?瀏覽器發(fā)送請求核心控制器FilterDispatcher根據(jù)請求決定調(diào)用合適的Action。WebWork的攔截器鏈自動對請求應(yīng)用通用功能,例如驗證等功能。回調(diào)Action的execute方法。實際上,因為Action只是一個控制器,它會調(diào)用業(yè)務(wù)邏輯組件(Model)來處理用戶的請求。輸出結(jié)果到頁面Struts2的核心控制器FilterDispaer如何配置?<filter><!--配置struts2核心Filter的名字--><filter-name>struts</filter-name><!--配置struts2核心Filter的實現(xiàn)類--><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class><init-param><!--配置struts2框架默認加載的Action包結(jié)構(gòu)--><param-name>actionpackages</param-name><param-value>org.apache.struts2.showcase.person</param-value></init-param><!--配置struts2框架的配置提供者類--><init-param><param-name>configProviders</param-name><param-value>com.ascent.MyConfigurationProvider</param-value></init-param></filter>Struts2的Action類如何開發(fā)?對于Struts2應(yīng)用而言,Action是應(yīng)用系統(tǒng)的核心,我們也稱Action為業(yè)務(wù)控制器。開發(fā)者需要提供大量的Action類,并在strust.xml文件配置Action。Struts2的配置文件struts.xml如何開發(fā)?主要配置標(biāo)簽有哪幾個?<struts><packagename="struts2"extends="struts-default"><actionname="login"class="com.ascent.struts2.action.LoginAction"><resultname="error">/error.jsp</result><resultname="success">/welcome.jsp</result></action></package></struts>struts.xml配置文件中如何配置Action類?<actionname="usrLoginAction"class="com.ascent.action.UsrLoginAction"> <resultname="success_1">/product/products.jsp</result></action>配置Action的result標(biāo)簽的類型有哪幾種?局部結(jié)果:將<result…/>作為<action…./>元素配置和全局結(jié)果:將<result…/>作為<global-result…./>元素子元素配置配置文件配置Action如何使用通配符?在配置<action…/>元素時,可以指定name、class和method屬性,這3個屬性都可支持通配符,這種使用通配符的方式是動態(tài)方法調(diào)用的一種形式。當(dāng)我們使用通配符定義Action的name屬性時,相當(dāng)于一個action元素定義多個邏輯Action。第四章P1141-5如何在JSP頁面導(dǎo)入Struts2標(biāo)簽庫?加入taglib標(biāo)簽<%@taglibprefix="s"uri="/struts-tags"%>簡述If標(biāo)簽的用法。執(zhí)行基本的條件流轉(zhuǎn),判斷字符串,判斷數(shù)值,判斷為空的問題簡述Iterator迭代標(biāo)簽的用法。用于遍歷集合(java.util.Collection)或枚舉值(java.util.Iterator)如何使用Struts2標(biāo)簽編寫一個登錄的表單?<s:formaction="userLoginAction"method="post"> <s:textfiledname="username"label="用戶名"></s:textfiled> <s:passwordname="password"label="密碼"></s:password> <s:submitvalue="登錄"></s:submit></s:form>使用OGNL如何取request或session范圍保存的數(shù)據(jù)?<s:propertyvalue="#"/>或<s:propertyvalue="#"/>第五章P1491-4,5-8Struts2如何實現(xiàn)國際化的流程?Struts2全局國際化資源文件如何配置?只需要配置struts.custom.il8n.resources常量即可Struts2類范圍國際化資源文件如何配置?Struts2頁面使用哪個標(biāo)簽獲取資源文件信息?<s:i18n><s:text…./>Struts2validate驗證流程如何?通過轉(zhuǎn)換器將請求參數(shù)轉(zhuǎn)換成相應(yīng)的Bean屬性;判斷轉(zhuǎn)換過程是否出現(xiàn)異常。如果有,則將其保存到ActionContext中,conversionError攔截器再封裝為fieldError;如果沒有,進行下一步;通過反射(Reflection)來調(diào)用validateXxx()方法(可選方法。其中,Xxx表示Action的方法名);調(diào)用validate()方法;如果經(jīng)過上述步驟沒有出現(xiàn)fieldError,則調(diào)用Action方法;如果有,則會跳過Action方法,通過國際化將fieldError輸出到頁面。Struts2驗證框架驗證流程如何?1).指定要驗證的目標(biāo)Action——ValidationAction;2).根據(jù)命名規(guī)則,找到目標(biāo)Action對應(yīng)的ValidationAction-validation.xml文件,框架為該類創(chuàng)建了一個驗證對象,這個驗證對象基于XML文件;3).驗證器對輸入的數(shù)據(jù)產(chǎn)生作用;4).如果驗證失敗,錯誤信息被添加到內(nèi)部序列中;5).當(dāng)所有的驗證器都已經(jīng)執(zhí)行后,如果框架發(fā)現(xiàn)有錯誤信息產(chǎn)生,它尋找“input”結(jié)果對應(yīng)的頁面,而不調(diào)用Action類;6).如果通過驗證,調(diào)用Action的方法,返回“success”對應(yīng)的結(jié)果。Struts2驗證框架的開發(fā)流程如何?第六章P1821-3,5,6Struts2攔截器有何作用?在AOP(Aspect-OrientedProgramming)中用于在某個方法或字段被訪問之前,進行攔截然后在之前或之后加入某些操作。攔截是AOP的一種實現(xiàn)策略。Struts2攔截器如何定義?攔截器是動態(tài)攔截Action調(diào)用的對象。它提供了一種機制可以使開發(fā)者可以定義在一個action執(zhí)行的前后執(zhí)行的代碼,也可以在一個action執(zhí)行前阻止其執(zhí)行。同時也是提供了一種可以提取action中可重用的部分的方式。Struts2攔截器棧如何定義?攔截器鏈(InterceptorChain,在Struts2中稱為攔截器棧InterceptorStack)。攔截器鏈就是將攔截器按一定的順序聯(lián)結(jié)成一個鏈條。在訪問被攔截的方法或字段時,攔截器鏈中的攔截器就會按其之前定義的順序被調(diào)用。Struts2上傳下載的攔截器如何配置?<actionname=”Upload”class=”com.ascent.upload.action.UpLoadAction”><interceptor-refname="fileUpload"> <!--設(shè)置上傳文件類型--> <paramname="allowedTypes">image/bmp,image/png,image/jpg,image/gif,image/pjpeg</param> <!--設(shè)置上傳文件大小--> <paramname="maximumSize">200000</param></interceptor-ref><!--必須顯示配置引用struts默認的攔截器棧:defaultStack--><interceptor-refname="defaultStack"></interceptor-ref>Struts2上傳攔截器有哪些重要的屬性配置?allowedTypes:指定文件類型,類型間用英文逗號隔開maximumSize:指定上傳文件的最大值,單位為字節(jié)第七章P2211-4,6,7Hibernate框架的體系結(jié)構(gòu)如何?會話工廠SessionFactory對屬于單一數(shù)據(jù)庫的編譯過的映射文件的一個線程安全的,不可變的緩存快照。它是Session的工廠,是ConnectionProvider的客戶。可能持有一個可選的(第二級)數(shù)據(jù)緩存,可以在進程級別或集群級別保存可以在事物中重用的數(shù)據(jù)。會話Session單線程,生命期短暫的對象,代表應(yīng)用程序和持久化層之間的一次對話。封裝了一個JDBC連接。也是Transaction的工廠。保存有必需的(第一級)持久化對象的緩存,用于遍歷對象圖,或者通過標(biāo)識符查找對象。持久化對象(PersistentObject)及其集合(Collection)生命周期短暫的單線程的對象,包含了持久化狀態(tài)和商業(yè)功能。它們可能是普通的JavaBeans/POJOs,唯一特別的是他們從屬于且僅從屬于一個Session。一旦Session被關(guān)閉,他們都將從Session中取消聯(lián)系,可以在任何程序?qū)幼杂墒褂茫ū热?,直接作為傳送到表現(xiàn)層的DTO,數(shù)據(jù)傳輸對象)。臨時對象(TransientObject)及其集合(Collection)目前沒有從屬于一個Session的持久化類的實例。他們可能是剛剛被程序?qū)嵗?,還沒有來得及被持久化,或者是被一個已經(jīng)關(guān)閉的Session所實例化的。事務(wù),Transaction(可選)單線程,生命期短暫的對象,應(yīng)用程序用它來表示一批不可分割的操作。是底層的JDBC,JTA或者CORBA事務(wù)的抽象。一個Session某些情況下可能跨越多個Transaction事務(wù)。ConnectionProvider(可選)JDBC連接的工廠和池。從底層的Datasource或者DriverManager抽象而來。對應(yīng)用程序不可見,但可以被開發(fā)者擴展/實現(xiàn)。TransactionFactory(可選)事務(wù)實例的工廠。對應(yīng)用程序不可見,但可以被開發(fā)者擴展/實現(xiàn)。Hibernate框架的加載流程如何?(1)啟動Hibernate(2)構(gòu)建Configuration實例,初始化實例中的所有變量:Configurationcfg=Configuration.configure();(3)加載hibernate.cfg.xml文件至cfg實例所分配的內(nèi)存(4)通過hibernate.cfg.xml文件中格的mapping節(jié)點進行配置,并加載.hbm.xml文件至cfg實例中(5)由cfg實例構(gòu)建一個SessionFactory實例:SessionFactorysf=cfg.buildSessionFactory();(6)由上面得到的sf實例創(chuàng)建Session連接:Sessions=sf.openSession();(7)由Session實例創(chuàng)建事務(wù)操作接口Transaction的一個實例:Transactiontx=s.beginTransaction();(8)通過Session接口提供的各種方法操作對數(shù)據(jù)庫的訪問(9)提交數(shù)據(jù)庫操作結(jié)果:mit();(10)關(guān)閉Session連接:什么是ORM?這個術(shù)語表示一種技術(shù),用來把對象模型表示的對象映射到基于SQL的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中去Hibernate配置文件hibernate.cfg.xml核心屬性有哪些?如何配置?<hibernate-configuration><session-factory><propertyname="connection.username">root</property><propertyname="connection.url">jdbc:mysql://localhost:3306/acesys</property><propertyname="dialect">org.hibernate.dialect.MySQLDialect</property><propertyname="file">mysqldriver</property><propertyname="connection.password">root</property><propertyname="connection.driver_class">com.mysql.jdbc.Driver</property></session-factory></hibernate-configuration>對于用戶表usr表,寫出該表ORM映射的持久化類Usr.java和映射文件Usr.hbm.xml文件。Usr.javapackagecom.ascent.po;publicclassUsrimplementsjava.io.Serializable{privateStringusername;publicUsr(){}publicUsr(Stringusername){ this.username=username;}publicStringgetUsername(){returnthis.username;}PublicvoidserUsername(StingUsername){this.username=username;
} Getandset方法Usr.hbm.xml<classname="com.ascent.po.Usr"table="usr"catalog="ascentweb"><idname="id"type="integer"><columnname="id"/><generatorclass="native"/></id><propertyname="username"type="string"><columnname="username"length="32"></column></property> </class>寫出常用的幾種Hibernate提供的主鍵生成方式。1:assigned----表示在新增數(shù)據(jù)時由應(yīng)用程序指定主鍵的值。主要針對主鍵是采用自然主鍵的形式。這種方式,適用于主鍵列不是自動增長列。其缺點為在執(zhí)行新增操作時,需查詢數(shù)據(jù)庫判斷生成的主鍵是否已經(jīng)存在。2:increment----表示新增數(shù)據(jù)操作時由hibernate自動生成主鍵值。其生成的值為:先查詢該主鍵列的最大值,然后在最大值的基礎(chǔ)上加上1.適用于采用代理主鍵形式的主鍵列。同樣不能用于主鍵列是自動增長的表。但是,該主鍵生成策略也有些缺點。(1)新增數(shù)據(jù)前先查詢一遍,影響了性能。(2)主鍵的類型只能為數(shù)值型的int或者long(3)并發(fā)操作時的沖突問題。3:identity----不如說是為sqlerver數(shù)據(jù)庫量身定做的。主要適用于sqlserver數(shù)據(jù)庫的自動增長列的表。4:native----表示根據(jù)不同的數(shù)據(jù)庫采用不同的主鍵生成策略。比如,當(dāng)前數(shù)據(jù)庫為sqlserver,則會采用identity,如為oracle,則采用oracle中的sequence等。區(qū)分數(shù)據(jù)庫的不同是以hibernate主配置文件中sessionFactory中配置的數(shù)據(jù)庫方言。第八章P2554種對應(yīng)關(guān)系<one-to-one><one-to-many><many-to-one><many-to-many>第九章P2761-4,6Hibernate常用查詢語句有哪幾種?HQL和原生SQLCQ條件查詢Hibernate的HQL查詢是否支持多態(tài)?支持Hibernate的HQL語法是否區(qū)分大小寫?不區(qū)分大小寫Hibernate的HQL查詢語言操作的是表還是對象?對象Hibernate的HQL查詢?nèi)绾螌崿F(xiàn)左外連接和右外連接?內(nèi)連接(innerjoin)左外連接(leftouterjoin)右外連接(rightouterjoin)全連接(fulljoin)(不常使用)第十章P2981,2,4,5Spring分層結(jié)構(gòu)中7大模塊分別是什么?核心容器:核心容器提供Spring框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實現(xiàn)。BeanFactory使用控制反轉(zhuǎn)(IoC)模式將應(yīng)用程序的配置和依賴性規(guī)范與實際的應(yīng)用程序代碼分開。Spring上下文:Spring上下文是一個配置文件,向Spring框架提供上下文信息。Spring上下文包括企業(yè)服務(wù),例如JNDI、EJB、電子郵件、國際化、校驗和調(diào)度功能。SpringAOP:通過配置管理特性,SpringAOP模塊直接將面向方面的編程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何對象支持AOP。SpringAOP模塊為基于Spring的應(yīng)用程序中的對象提供了事務(wù)管理服務(wù)。通過使用SpringAOP,不用依賴EJB組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。SpringDAO:JDBCDAO(DataAccessObject)抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫供應(yīng)商拋出的錯誤消息。異常層次結(jié)構(gòu)簡化了錯誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量。SpringDAO的面向JDBC的異常遵從通用的DAO異常層次結(jié)構(gòu)。SpringORM:Spring框架插入了若干個Object/RelationMapping框架,從而提供了ORM的對象關(guān)系映射工具,其中包括JDO、Hibernate和iBatisSQLMap。所有這些都遵從Spring的通用事務(wù)和DAO異常層次結(jié)構(gòu)。SpringWeb模塊:Web上下文模塊建立在應(yīng)用程序上下文模塊之上,為基于Web的應(yīng)用程序提供了上下文。所以,Spring框架支持與JakartaStruts的集成。Web模塊還簡化了處理多部分請求以及將請求參數(shù)綁定到域?qū)ο蟮墓ぷ鳌pringMVC框架:MVC框架是一個全功能的構(gòu)建Web應(yīng)用程序的MVC實現(xiàn)。通過策略接口,MVC框架變成為高度可配置的,MVC容納了大量視圖技術(shù),其中包括JSP、Velocity、Tiles、iText和POI。如何理解Spring控制反轉(zhuǎn)IoC?舉例說明。程序不應(yīng)該依賴實現(xiàn),而是依賴于抽象接口Spring創(chuàng)建Bean的作用域有哪些?1、singleton:當(dāng)一個bean的作用域為singleton,那么SpringIoC容器中只會存在一個共享的bean實例,并且所有對bean的請求,只要id與該bean定義相匹配,則只會返回bean的同一實例。注意:Singleton作用域是Spring中的缺省作用域。要在XML中將bean定義成singleton,可以這樣配置:<beanid="empServiceImpl"class="cn.csdn.service.EmpServiceImpl"scope="singleton">2、prototype:一個bean定義對應(yīng)多個對象實例。Prototype作用域的bean會導(dǎo)致在每次對該bean請求(將其注入到另一個bean中,或者以程序的方式調(diào)用容器的getBean()方法)時都會創(chuàng)建一個新的bean實例。根據(jù)經(jīng)驗,對有狀態(tài)的bean應(yīng)該使用prototype作用域,而對無狀態(tài)的bean則應(yīng)該使用singleton作用域。3、request:在一次HTTP請求中,一個bean定義對應(yīng)一個實例;即每次HTTP請求將會有各自的bean實例,它們依據(jù)某個bean定義創(chuàng)建而成。該作用域僅在基于web的SpringApplicationContext情形下有效??紤]下面bean定義:<beanid="loginAction"class=cn.csdn.LoginAction"scope="request"/>針對每次HTTP請求,Spring容器會根據(jù)loginActionbean定義創(chuàng)建一個全新的LoginActionbean實例,且該loginActionbean實例僅在當(dāng)前HTTPrequest內(nèi)有效,因此可以根據(jù)需要放心的更改所建實例的內(nèi)部狀態(tài),而其他請求中根據(jù)loginActionbean定義創(chuàng)建的實例,將不會看到這些特定于某個請求的狀態(tài)變化。當(dāng)處理請求結(jié)束,request作用域的bean實例將被銷毀。4、session:在一個HTTPSession中,一個bean定義對應(yīng)一個實例。該作用域僅在基于web的SpringApplicationContext情形下有效??紤]下面bean定義:<beanid="userPreferences"class="com.foo.UserPreferences"scope="session"/>針對某個HTTPSession,Spring容器會根據(jù)userPreferencesbean定義創(chuàng)建一個全新的userPreferencesbean實例,且該userPreferencesbean僅在當(dāng)前HTTPSession內(nèi)有效。與request作用域一樣,你可以根據(jù)需要放心的更改所創(chuàng)建實例的內(nèi)部狀態(tài),而別的HTTPSession中根據(jù)userPreferences創(chuàng)建的實例,將不會看到這些特定于某個HTTPSession的狀態(tài)變化。當(dāng)HTTPSession最終被廢棄的時候,在該HTTPSession作用域內(nèi)的bean也會被廢棄掉。5、globalsession:在一個全局的HTTPSession中,一個bean定義對應(yīng)一個實例。典型情況下,僅在使用portletcontext的時候有效。該作用域僅在基于web的SpringApplicationContext情形下有效??紤]下面bean定義:<beanid="userPreferences"class="com.foo.UserPreferences"scope="globalSession"/>globalsession作用域類似于標(biāo)準(zhǔn)的HTTPSession作用域,不過它僅僅在基于portlet的web應(yīng)用中才有意義。Portlet規(guī)范定義了全局Session的概念,它被所有構(gòu)成某個portletweb應(yīng)用的各種不同的portlet所共享。在globalsession作用域中定義的bean被限定于全局portletSession的生命周期范圍內(nèi)。Spring屬性注入有哪幾種方式?通過接口注射,這種方式要求我們的類必須實現(xiàn)容器給定的一個接口,然后容器會利用這個接口給我們這個類來注射他所依賴的類通過setter方法來注射,這種方式也是Spring推薦的方式通過構(gòu)造方法來注射類,這種方式Spring同樣給與了實現(xiàn),它和通過setter方式一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025江西撫州金控基金管理有限公司職業(yè)經(jīng)理人招聘2人(公共基礎(chǔ)知識)綜合能力測試題附答案
- 2025年樺甸市總工會公開招聘工會社會工作者(6人)備考題庫附答案
- 2025廣東東莞理工學(xué)院第二批招聘聘用人員19人考試模擬卷附答案
- 2025年哈爾濱道里區(qū)安靜社區(qū)衛(wèi)生服務(wù)中心招聘1人(公共基礎(chǔ)知識)測試題附答案
- 2026新疆生產(chǎn)建設(shè)兵團第十師一八八團連隊(社區(qū))跟班“兩委”后備力量招聘6人筆試備考試題及答案解析
- 2026山東重工集團有限公司社會招聘筆試備考題庫及答案解析
- 職場簡約商務(wù)風(fēng)年終述職報告【演示文檔課件】
- 2026德欽縣公開(特招)治安聯(lián)防人員(7人)筆試備考題庫及答案解析
- 2026內(nèi)蒙古鄂爾多斯職業(yè)學(xué)院汽車工程系招聘筆試模擬試題及答案解析
- 上海煙草集團有限責(zé)任公司2026年應(yīng)屆生招聘筆試模擬試題及答案解析
- 無人機吊運培訓(xùn)課件
- 沈陽市行道樹栽植現(xiàn)狀分析與發(fā)展對策
- 2026年中國馬術(shù)行業(yè)發(fā)展現(xiàn)狀調(diào)查、競爭格局分析及未來前景預(yù)測報告
- 電力市場基礎(chǔ)知識面試題及高頻考點
- 健康體檢重要異常結(jié)果管理專家共識2025
- 2026屆四川省成都市樹德實驗中學(xué)物理九上期末調(diào)研試題含解析
- TCNAS50-2025成人吞咽障礙患者口服給藥護理學(xué)習(xí)解讀課件
- 工程概算編制方案
- 2026年全球美容與個人護理趨勢預(yù)測報告-英敏特-202510
- 2025至2030全球及中國供應(yīng)鏈的區(qū)塊鏈行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 2025內(nèi)蒙古通遼市扎魯特旗巨日合鎮(zhèn)人民政府招聘護林員9人考試參考試題及答案解析
評論
0/150
提交評論