JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案_第1頁
JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案_第2頁
JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案_第3頁
JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案_第4頁
JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案《JavaEE框架設(shè)計與開發(fā)實踐》課后習題參考答案第1章JavaEE概述一、選擇題1、D2、B3、A4、C5、A二、填空題jsp+javabean,jsp+javabean+servletXML.服務(wù)技術(shù)EnterpriseJavaBean(EJB),AppletJ2EE表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層SessionFactory、Transaction、Configuration三、簡答題(1)JavaEE是一個標準中間件體系結(jié)構(gòu)(2)JavaEE是企業(yè)分布式應(yīng)用開發(fā)標準JavaServlet:是用Java寫的一個服務(wù)器端小程序,可以處理用戶的HTTP請求,返回結(jié)果。它擴展了Web服務(wù)器的功能。作為一種服務(wù)器端的應(yīng)用,當被請求時開始執(zhí)行,這和CGIPerl腳本很相似。Servlet提供的功能大多與JSP類似,不過實現(xiàn)的方式不同。JSP通常是大多數(shù)HTML代碼中嵌入少量的Java代碼,而servlets全部由Java寫成并且生成HTML。JavaEE容器(JavaEEContainer):這是部署組裝JavaEE組件的地方(也就是應(yīng)用程序服務(wù)器)。它定義了Web容器(包含servlets和JSP),還定義了EJB容器(包含的企業(yè)級JavaBean)以及應(yīng)用客戶端容器(運行獨立的應(yīng)用程序)和在瀏覽器上運行的小程序容器。(1)獨立于硬件配置和操作系統(tǒng)(2)堅持面向?qū)ο蟮脑O(shè)計原則(3)靈活性、可移植性和互操作性(4)輕松的企業(yè)信息系統(tǒng)集成(1)JavaME:Java平臺微型版(2)JavaSE:Java平臺標準版(3)JavaEE:Java平臺企業(yè)版第2章JavaWeb開發(fā)概述一、選擇題.C 2,C 3.B 4.A 5.D 6.B二、填空題不會會靜態(tài)Web是無法進行數(shù)據(jù)庫操作Mavenweb應(yīng)用中的/WEB-INF/libLog4JCommonsLogging SLF4JM(Model)V(View)C(Controller)JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案三、簡答題GET/POST方法有以下區(qū)別:(1)在客戶端,Get方式在通過URL提交數(shù)據(jù),數(shù)據(jù)在URL中可以看到;POST方式,數(shù)據(jù)放置在HTMLHEADER內(nèi)提交。(2)GET方式提交的數(shù)據(jù)最多只能有1024字節(jié),而POST則沒有此限制。(3)安全性問題。正如在(1)中提到,使用Get的時候,參數(shù)會顯示在地址欄上,而Post不會。所以,如果這些數(shù)據(jù)是中文數(shù)據(jù)而且是非敏感數(shù)據(jù),那么使用get;如果用戶輸入的數(shù)據(jù)不是中文字符而且包含敏感數(shù)據(jù),那么還是使用post為好。(4)安全的和幕等的。所謂安全的意味著該操作用于獲取信息而非修改信息。幕等的意味著對同一URL的多個請求應(yīng)該返回同樣的結(jié)果。完整的定義并不像看起來那樣嚴格。換句話說,GET請求一般不應(yīng)產(chǎn)生副作用。從根本上講,其目標是當用戶打開一個鏈接時,它可以確信從自身的角度來看沒有改變資源。POST表示可能改變服務(wù)器上的資源的請求。Web程序開發(fā)過程:在傳統(tǒng)Web應(yīng)用程序的開發(fā)過程中,開發(fā)一個應(yīng)用系統(tǒng)一般情況下需要以下幾個步驟:客戶端/服務(wù)器端軟件的開發(fā)、服務(wù)器端程序的部署、客戶端軟件的安裝,只有完成這幾個步驟,用戶才可以通過客戶端訪問服務(wù)器提供的服務(wù)。而在基于B/S架構(gòu)的Web程序大開發(fā)過程中,只需要開發(fā)服務(wù)器端的功能代碼,然后把服務(wù)器端的程序部署在Web服務(wù)器軟件中即可,在部署結(jié)束之后,啟動Web服務(wù)器,用戶就可以通過瀏覽器訪問Web應(yīng)用程序提供的服務(wù)。什么是JDBC?簡述其連接過程。JDBC:全稱是JavaDatabaseConnectivity,是一個應(yīng)用程序編成接口(API),包括了許多類和接口,程序員通過使用JDBC可以方便的將SQL語句傳送給幾乎任何一種數(shù)據(jù)庫。簡單地說,JDBC主要完成三件事:1)與一個數(shù)據(jù)庫建立連接;2)向數(shù)據(jù)庫發(fā)送SQL語句;3)處理數(shù)據(jù)庫返回的結(jié)果。具體操作步驟如下:向驅(qū)動程序管理器加載注冊JDBC驅(qū)動程序獲得特定數(shù)據(jù)庫的連接得到SQL語句容器,并發(fā)送SQL語句如果有結(jié)果集返回的話,處理結(jié)果集關(guān)閉數(shù)據(jù)庫連接Maven和Ant有什么不同呢?Maven和Ant針對構(gòu)建問題的兩個不同方面。Ant為Java技術(shù)開發(fā)項目提供跨平臺構(gòu)建任務(wù)。Maven本身描述項目的高級方面,它從Ant借用了絕大多數(shù)構(gòu)建任務(wù)。因此,由于Maven和Ant代表兩個差異很大的工具,Maven是一個項目管理工具,它包含了一個項目對象模型⑴可?&ObjectModel),一組標準集合,一個項目生命周期(ProjectLifecycle),一個依賴管理系統(tǒng)(DependencyManagementSystem),和用來運行定義在生命周期階段(phase)中插件(plugin)目標反。用)的邏輯。當使用Maven的時候,用一個明確定義的項目對象模型來描述項目,然后Maven可以應(yīng)用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案第3章HTML、JavaScript^^一、選擇題.D 2,D 3.C 4.D 5.B二、填空題.<html>,</html>.<head>,</head>.<body>,</body>.<title>,</title>.標記內(nèi)的內(nèi)容按照原格式顯示在網(wǎng)頁中.$(selector).action()三、簡答題.答:①表格是在同一個網(wǎng)頁中將頁面劃分為不同區(qū)域;②框架是在同一個瀏覽器窗口中顯示多個網(wǎng)頁;③框架可以通過指定超鏈接的目標框架獲得交互式的布局效果。.答:Name表示表單的名稱,id表示表單的id標識,action將表單指向一個接收表單信息的程序文件,mothod定義了向服務(wù)器處理程序發(fā)送表單信息的方法,style定義表單的樣式,title定義表單的標題等。.答:數(shù)字型(Number)整數(shù)或?qū)崝?shù),如 10,177.5,.33e7,-1.2E5邏輯型或布爾型(Boolean),如true或false字符串型位仃苗8),如“HelloWorld”,‘123.4,特殊型,如空型(null)表示空值的特殊關(guān)鍵字答:JSON指的是JavaScript對象表示法(JavaScriptObjectNotation)oJSON是輕量級的文本數(shù)據(jù)交換格式,和XML一樣也是純文本的,具有獨立于語言,自我描述性,更易理解等特點,具有層級結(jié)構(gòu)(值中存在值)可通過JavaScript進行解析數(shù)據(jù),可使用AJAX進行傳輸。JSON使用JavaScript語法來描述數(shù)據(jù)對象,但是JSON仍然獨立于語言和平臺。JSON解析器和JSON庫支持許多不同的編程語言。答:其大概開發(fā)過程如下:1)編寫業(yè)務(wù)代碼,該代碼是和dwr無關(guān)的。2)確認業(yè)務(wù)代碼中哪些類、哪些方法是要由javascript直接訪問的。3)編寫dwr組件,對步驟2的方法進行封裝。4)配置dwr組件至Udwr.xml文件中,如果有必要,配置convert,進行java和javascript類型互轉(zhuǎn)。5)通過反射機制,dwr將步驟4的類轉(zhuǎn)換成javascript代碼,提供給前臺頁面調(diào)用。6)編寫網(wǎng)頁,調(diào)用步驟5的javascript中的相關(guān)方法(間接調(diào)用服務(wù)器端的相關(guān)類的方法),執(zhí)行業(yè)務(wù)邏輯,將執(zhí)行結(jié)果利用回調(diào)函數(shù)返回。7)在回調(diào)函數(shù)中,得到執(zhí)行結(jié)果后,可以繼續(xù)編寫業(yè)務(wù)邏輯的相關(guān)javascript代碼。JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案第4章JSP應(yīng)用基礎(chǔ)一、選擇題1.A2.D3.C4.A5.ABCDE6.A7.C8.B 9.D 10.B二、填空題javax.servlet,javax.servlet.http加載階段,初始化階段,servlet運行階段,servlet結(jié)束時期jsp+javabean,jsp+javabean+servletweb.xmlHttpservlet三、簡答題Servlet是用Java語言編寫的運行在服務(wù)器端的小應(yīng)用程序高效、方便、功能強大、可移植性、節(jié)省投資JSP指令:include指令、page指令、taglib指令JSP動作:forward動作、include動作、useBean動作JSP的隱含對象:輸出對象out、請求對象request、響應(yīng)對象response、會話對象session、Web服務(wù)器對象application四、編程題program.javapackageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassprogramextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html");PrintWriterout=response.getWriter();out.println("<!DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");out.println("<HTML>");out.println("<HEAD><TITLE>AServlet</TITLE></HEAD>");out.println("<BODY>");JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案out.print("Thisisaservletprogram!!");out.println("</BODY>");out.println("</HTML>");out.flush();out.close();}}request.javapackageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassrequestextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{response.setContentType("text/html;charset=GB2312");Stringtitle="計算圓面積和周長";PrintWriterout=response.getWriter();out.println("<html>");out.println("<body>");out.println("<head>");out.println("<title>"+title+"</title>");out.println("</head>");out.println("<body>");out.println("<h3>"+title+"</h3>");Stringradius=request.getParameter("radius");if(radius!=null){floatr=(newFloat(radius)).floatValue();doubles=2*3.14*r;doublearea=3.14*r*r;out.println("圓的周長:"+s+"<br>");out.println("圓的面積:"+area);JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案}else(out.println("您還未提交!");}out.println("<P>");out.println("<fOrmaction='request'method=POST>");out.println("請你輸入圓的半徑:<inputtype=textsize=20name=radius>");out.println("<br>");out.println("<inputtype=submitvalue='提交'>");out.println("</form>");out.println("</body>");out.println("</html>");}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException(1}一;第5章Struts2開發(fā)一、選擇題1.A 2,C 3.C4.BCD5.A6.AD7.B 8.C二、填空題webWork、攔截器Struts、WebWorkClass/過濾器類struts2-core、commons-logging、xwork-core、freamarke、ognlPOJO<%@taglibprefix=”s“uri=”strut-tags”%><s:form/>Action>validateable三、簡答題.MVC的全稱為model-view-controller(模型-視圖-控制器)。MVC是一種發(fā)應(yīng)用程序的模式,這個模式已經(jīng)具有了很好的框架架構(gòu),并且十分容易維護。使用MVC開發(fā)出來的應(yīng)用程序一般包括以下幾塊內(nèi)容:JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案控制器(Controller):控制器類處理客戶端向Web應(yīng)用程序發(fā)出的請求,獲取數(shù)據(jù),并指定返回給客戶端,用來顯示處理結(jié)果的視圖。模型(乂04儀):模型類代表了應(yīng)用程序的數(shù)據(jù),這些數(shù)據(jù)通常具有一個數(shù)據(jù)驗證邏輯,用來使得這些數(shù)據(jù)必須符合業(yè)務(wù)邏輯。視圖(View):視圖類是Web應(yīng)用程序中用來生成并顯示HTML格式的服務(wù)器端對客戶端請求的響應(yīng)結(jié)果的模板文件。.(1)用戶提交自己的請求;(2)由web.xml攔截,轉(zhuǎn)發(fā)到action進行處理;(3)Struts.xml根據(jù)相應(yīng)的action配置,調(diào)用相應(yīng)的方法來處理,并根據(jù)結(jié)果轉(zhuǎn)發(fā)到不同的頁面。.⑴定義自己的攔截器實例,并繼承相應(yīng)的攔截器類;(2)在struts.xml中配置攔截器。使用<interceptors>聲明攔截器,在<2由??冢緝?nèi)以<interceptors-ref>調(diào)用攔截器或者使用攔截器;(3)用戶發(fā)送添加評論的請求,由struts.xml捕獲,并交由攔截器處理;(4)攔截器根據(jù)定義的方法進行校驗,放回相應(yīng)的執(zhí)行結(jié)果,實現(xiàn)文字屏蔽效果。.(1)客戶端校驗:在客戶端用過使用javascript腳本對用戶輸入的數(shù)據(jù)進行校驗;(2)服務(wù)器校驗:在服務(wù)器端對數(shù)據(jù)進行校驗。.(1)加載全局范圍資源文件;(2)加載包范圍資源文件;(3)加載action范圍資源文件;(4)加載臨時指定范圍內(nèi)的資源文件。.Servlet被服務(wù)器實例化后,容器運行其init()方法,請求到達時運行其service。方法,service。方法自動派遣運行與請求對應(yīng)的doGet、doPost方法等,當服務(wù)器決定將實例銷毀的時候調(diào)用其destroy方法第6章Hibernate基礎(chǔ)一、選擇題.A 2,D 3.D 4.B5.DB二、簡答題1,對象關(guān)系映射(ObjectRelationalMapping,簡稱ORM)是一種為了解決面向?qū)ο笈c關(guān)系數(shù)據(jù)庫存在的互不匹配的現(xiàn)象的技術(shù)。簡單的說,ORM是通過使用描述對象和數(shù)據(jù)庫之間映射的元數(shù)據(jù),將java程序中的對象自動持久化到關(guān)系數(shù)據(jù)庫中。本質(zhì)上就是將數(shù)據(jù)從一種形式轉(zhuǎn)換到另外一種形式。.通常開發(fā)過程中,所有Hibernate應(yīng)用中都會訪問Hibernate的5個核心接口:Configuration接口、SessionFatory接口、Session接口>Transaction接口、Query和Criteria接口。Hibernate3Web應(yīng)用的開發(fā)一般經(jīng)過以下幾個步驟:(1)創(chuàng)建數(shù)據(jù)庫。(2)將Hibernate所需的JAR包復(fù)制到WEB-INF/lib下。JavaEE架構(gòu)設(shè)計與開發(fā)實踐一書課后習題答案(3)創(chuàng)建Hibernate的配置文件。(4)利用Hibernate的第三方工具或Eclipse的有關(guān)插件從數(shù)據(jù)庫中創(chuàng)建出相應(yīng)的實體對象及其ORM映射文件。(5)創(chuàng)建Hibernate的SessionFactory類。(6)通過SessionFactory創(chuàng)建Session實例。(7)通過創(chuàng)建的Session實例進行持久化對象的管理。(8)通過創(chuàng)建的Transaction實例進行事務(wù)管理。(9)通過創(chuàng)建的Query或Criteria實例實現(xiàn)數(shù)據(jù)庫的查詢。Hibernate配置文件支持兩種形式,一種是xml格式的配置文件,另一種是Java屬性文件格式的配置文件,采用“鍵=值”的形式。建議采用xml格式的配置文件。xml配置文件可以直接對映射文件進行配置,并由Hibernate自動加載,而properties文件則必須在程序中通過編碼加載映射文件。方法1:在hibernate.cfg.xml中加入元素<property>、<mapping>,放置在類路徑(classpath)的根目錄下。方法2:創(chuàng)建Java屬性文件格式的配置文件,將perties放置放在類路徑的根目錄下。使用HQL查詢按如下步驟進行:獲取HibernateSession對象編寫HQL語句3)以HQL語句作為參數(shù),調(diào)用Session的createQuery方法創(chuàng)建查詢對象4)如果HQL語句包含參數(shù),則調(diào)用Query的setXxx方法為參數(shù)賦值5)調(diào)用Query獨享的list()或uniqueResult()方法返回查詢結(jié)果列表update和saveOrUpdate區(qū)別:答:這個是比較好理解的,顧名思義,saveOrUpdate基本上就是合成了save和update,而update只是update;引用hibernatereference中的一段話來解釋他們的使用場合和區(qū)別。通常下面的場景會使用update()或saveOrUpdate。:程序在第一個session中加載對象,接著把session關(guān)閉;該對象被傳遞到表現(xiàn)層;對象發(fā)生了一些改動;該對象被返回到業(yè)務(wù)邏輯層最終到持久層;程序創(chuàng)建第二session調(diào)用第二個session的update()方法持久這些改動。saveOrUpdate(po)做下面的事:如果該po對象已經(jīng)在本session中持久化了,在本session中執(zhí)行saveOrUpdate不做任何事。如果savaOrUpdate(新po)與另一個與本session關(guān)聯(lián)的po對象擁有相同的持久化標識(identifier),拋出一個異常,如下:org.hibernate.NonUniqueObjectException:adifferentobjectwiththesameidentifiervaluewasalreadyassociatedwith

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論