就业模拟试题1_答案
一、??? 基礎(chǔ)知識(shí)部分(每題2分,共40分)
| 答案 | 1)??????? 接口:inerface 純抽象的類(lèi),里面不能有任何實(shí)現(xiàn)的成員;接口是某一類(lèi)通用功能的描述。和子類(lèi)沒(méi)有必然的聯(lián)系。 2)??????? 抽象類(lèi):abstract 實(shí)現(xiàn)和非實(shí)現(xiàn)成員都可以有;抽象類(lèi)是子類(lèi)的基類(lèi),它是子類(lèi)的通用特征的描述 |
| 答案 | 1)??????? 不對(duì) 2)??????? 在c#中,應(yīng)為 float f = 3.4f? 或者 float f = 3; |
| 答案 | Public 公有,其他類(lèi)都可以訪問(wèn) ??? Protected 保護(hù),只有本類(lèi)和子類(lèi)可以訪問(wèn) ??? Private 私有,只有本類(lèi)可以使用 ??? Internal 內(nèi)部,本程序集中的類(lèi)可以使用。 |
| 答案 | &是java中的位邏輯運(yùn)算: |
| 答案 | Override:覆蓋,是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn),如果子類(lèi)中定義的某方法與父類(lèi)有相同的名稱(chēng)和參數(shù),我們說(shuō)該方法被重寫(xiě) |
| 答案 | Public 公有,其他類(lèi)都可以訪問(wèn) ??? Protected 保護(hù),只有本類(lèi)和子類(lèi)可以訪問(wèn) ??? Private 私有,只有本類(lèi)可以使用 ??? Internal 內(nèi)部,本程序集中的類(lèi)可以使用。 |
| 答案 | finally會(huì)執(zhí)行,在return 前執(zhí)行. |
| 答案 | 1)a=a+1中的1要做強(qiáng)制類(lèi)型轉(zhuǎn)換為short。 2)沒(méi)有錯(cuò) |
| 答案 | 委托是一種傳遞消息的機(jī)制,可以將方法作為參數(shù)傳遞 事件是一種特殊的委托 |
| 答案 | SqlConnection 連接數(shù)據(jù)庫(kù) SqlCommand 執(zhí)行Sql語(yǔ)句或存儲(chǔ)過(guò)程 SqlDataReader 實(shí)現(xiàn)對(duì)數(shù)據(jù)表記錄向前只讀 SqlDataAapter 執(zhí)行Sql語(yǔ)句或存儲(chǔ)過(guò)程 |
| 答案 | DataSet提供一個(gè)內(nèi)存中數(shù)據(jù)的關(guān)系表示形式,一整套包括一些表在內(nèi)的數(shù)據(jù)(這些表包含數(shù)據(jù)、對(duì)數(shù)據(jù)進(jìn)行排序并約束數(shù)據(jù)),以及表之間的關(guān)系。DataReader提供一個(gè)來(lái)自數(shù)據(jù)庫(kù)的快速、僅向前、只讀數(shù)據(jù)流。 |
| 答案 | StringBuffer是可變的而String是不可變的. |
| 答案 | 需要顯示左表中所有數(shù)據(jù),右表中對(duì)應(yīng)數(shù)據(jù). |
| 答案 | 1.delete是數(shù)據(jù)操作語(yǔ)言,操作會(huì)寫(xiě)入日志,在未提交之前可以回滾;truncate是數(shù)據(jù)定義語(yǔ)言,不寫(xiě)入日志,不可回滾 2.truncate執(zhí)行效率比delete高 3.delete可以根據(jù)條件刪除數(shù)據(jù);truncate會(huì)刪除表中所有的記錄 |
| 答案 | 聲明一個(gè)值類(lèi)型變量,編譯器會(huì)在棧上分配一個(gè)空間,這個(gè)空間對(duì)應(yīng)著該值類(lèi)型變量,空間里存儲(chǔ)的就是該變量的值。 引用類(lèi)型的實(shí)例分配在堆上,新建一個(gè)引用類(lèi)型實(shí)例,得到的變量值對(duì)應(yīng)的是該實(shí)例的內(nèi)存分配地址, ?? 1:public class Person ?? 2: { ?? 3:???? public string Name { get; set; } ?? 4:???? public int Age { get; set; } ?? 5: } ?? 6:? ?? 7: public static class ReferenceAndValue ?? 8: { ?? 9:???? public static void Demonstration() ? 10:???? { ? 11:???????? Person zerocool = new Person { Name = "ZeroCool", Age = 25 }; ? 12:???????? Person anders = new Person { Name = "Anders", Age = 47 }; ? 13:? ? 14:???????? int age = zerocool.Age; ? 15:???????? zerocool.Age = 22; ? 16:? ? 17:???????? Person guru = anders; ? 18:???????? anders.Name = "Anders? Hejlsberg"; ? 19:? ? 20:???????? Console.WriteLine("zerocool's age:\t{0}", zerocool.Age); ? 21:???????? Console.WriteLine("age's value:\t{0}", age); ? 22:???????? Console.WriteLine("anders' name:\t{0}", anders.Name); ? 23:???????? Console.WriteLine("guru' name:\t{0}", guru.Name); ? 24:???? } ? 25: } |
| 答案 | 1)??????? Webapps 2)??????? Domain |
| 答案 | request: 該對(duì)象封裝了用戶(hù)提交的信息,通過(guò)調(diào)用該對(duì)象相應(yīng)的方法可以獲取封裝的信息,既使用該對(duì)象可以獲取用戶(hù)提交的信息。 當(dāng)Request對(duì)象獲取客戶(hù)提交的漢字字符時(shí),會(huì)出現(xiàn)亂碼問(wèn)題,必須進(jìn)行特殊處理。首先,將獲取的? 字符串用ISO-8859-1進(jìn)行編碼,并將編碼存發(fā)到一個(gè)字節(jié)數(shù)組中,然后再將這個(gè)數(shù)組轉(zhuǎn)化為字符串對(duì)象即可。 例: ??? String textContent=request.getParameter("boy"); ??? byte b[]=textContent.getBytes("ISO-8859-1"); ??? textContent=new String(b); request常用的方法: ※getParameter(String strTextName) 獲取表單提交的信息。 ? 例:String strName=request.getParameter("name"); ※getProtocol() 獲取客戶(hù)使用的協(xié)議。 ? 例:String strProtocol=request.getProtocol(); ※getServletPath() 獲取客戶(hù)提交信息的頁(yè)面。 ? 例:String strServlet=request.getServletPath(); ※getMethod() 獲取客戶(hù)提交信息的方式。 ※getHeade() 獲取HTTP頭文件中的accept、accept-encoding和Host的值。 ? 例 String strHeade=request.getHeader("accept"); ※getRermoteAddr() 獲取客戶(hù)的IP地址。 ※getRemoteHost() 獲取客戶(hù)機(jī)的名稱(chēng)。 ※getServerName() 獲取服務(wù)器名稱(chēng)。 ※getServerPort() 獲取服務(wù)器的端口號(hào)。 ※getParameterNames() 獲取客戶(hù)端提交的所有參數(shù)的名字。 ************ 1.2:Response ************ ??? 對(duì)客戶(hù)端發(fā)出的請(qǐng)求作出動(dòng)態(tài)的響應(yīng),向客戶(hù)端發(fā)送數(shù)據(jù) ※setContentType() 動(dòng)態(tài)響應(yīng)頁(yè)面用page指令設(shè)置的contentType屬性 ? 例:response.setContentType(String strCT); 注:參數(shù)strCT可取"text/html","application/x-msexcel","application/msword"等。 ※sendRedirect() 實(shí)現(xiàn)客戶(hù)的重定向 ? 例:response.sendRedirect(strURL); ************ 1.3:Session ************ ??? JSP頁(yè)面被裝載時(shí)自動(dòng)創(chuàng)建,完成會(huì)話(huà)期管理。 ※public String getId() 獲取Session對(duì)象編號(hào) ※public void setAttribute(String key,Object objS)將參數(shù)Object指定的對(duì)象obj添加島Session對(duì)象 ※public Object getAttribute(String key) 獲取Session對(duì)象中含有關(guān)鍵字的對(duì)象。 ※public Boolean isNew() 判斷是否時(shí)一個(gè)新的客戶(hù)。 ************ 1.4:Application ************ ?? 服務(wù)器啟動(dòng)后就產(chǎn)生了Application對(duì)象,一直到服務(wù)器關(guān)閉,所有的客戶(hù)端共享這個(gè)內(nèi)置的? Application對(duì)象。 ※setAttribute(String key,Object objA)將參數(shù)objA添加到Application對(duì)象中 ※getAttribute(String key)獲取指定關(guān)鍵字Application對(duì)象中對(duì)象。 ************ 1.5:Out ************ ??? 一個(gè)輸出流,用來(lái)向客戶(hù)端輸出數(shù)據(jù)。 ※out.ptint() 輸出各種類(lèi)型數(shù)據(jù) ※out.newLine() 輸出一個(gè)換行符 ※out.close() 關(guān)閉流 ************ 1.6:Cookie ************ ??? Cookie是Web服務(wù)器保存在客戶(hù)端的一段文本信息,并且允許Web服務(wù)器在以后的客戶(hù)端訪問(wèn)時(shí)取回它? 是以“關(guān)鍵字key=值value”格式存儲(chǔ)的。 ※Cookie("userName","john") 構(gòu)造函數(shù),創(chuàng)建Cookie對(duì)象。 ※response.addCookie(cookie) 將Cookie對(duì)象傳送到客戶(hù)端 ※request.getCookies() 獲取保存到客戶(hù)端的Cookie對(duì)象數(shù)組。 例: Cookie[] cookieArray= request.getcookies(); ???? if(null!=cookieArray) ?for(int i=0;i<cookieArray.length;i++) ???? if("userName".equale(cookieArray[i].getName())) ?????????????????? out.prinln(cookieArray[i].getValue()); ※setMaxAge(intTime) 設(shè)置Cookie對(duì)象的有效時(shí)間,intTime為時(shí)間? ************ 1.7:pageContext ************ ??? 頁(yè)面上下文對(duì)象 ************ 1.8:Config ************ ??? 配置對(duì)象 ************ 1.9:Page ************ ??? 頁(yè)面對(duì)象 ************ 1.10:Exception ************ ??? 例外對(duì)象 |
| 答案 | final修飾符(關(guān)鍵字),如果一個(gè)類(lèi)被聲明為final,意味著它不能再派生出新的子類(lèi),不能作為父類(lèi)被繼承。因此一個(gè)類(lèi)不能既被聲明為abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們?cè)谑褂弥胁槐桓淖儭1宦暶鳛閒inal的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。方法的參數(shù)被final修飾表示在方法體內(nèi),該參數(shù)的值不可以被修改。 private final String ss = "ss"; public final void m(){ } public String m2(final String param){ } finally在異常處理時(shí)提供finally塊來(lái)執(zhí)行任何清除操作。無(wú)論有沒(méi)有異常被拋出、捕捉,finally塊都會(huì)被執(zhí)行。 finalize是方法名。Java技術(shù)允許使用finalize()方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要的清理工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對(duì)象沒(méi)有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。它是在Object類(lèi)中定義的,因此所有的類(lèi)都繼承了它。子類(lèi)覆蓋finalize()方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize()方法是在垃圾收集器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的。 |
| 答案 | Vector : 基于Array的List,其實(shí)就是封裝了Array所不具備的一些功能方便我們使用,它不可能走出Array的限制。性能也就不可能超越Array。所以,在可能的情況下,我們要多運(yùn)用Array。另外很重要的一點(diǎn)就是Vector是“sychronized”的,這個(gè)也是Vector和ArrayList的唯一的區(qū)別。 ArrayList:同Vector一樣是一個(gè)基于Array上的鏈表,但是不同的是ArrayList不是同步的。所以在性能上要比Vector優(yōu)越一些,但是當(dāng)運(yùn)行到多線(xiàn)程環(huán)境中時(shí),可需要自己在管理線(xiàn)程的同步問(wèn)題。 |
| 答案 | List接口對(duì)Collection進(jìn)行了簡(jiǎn)單的擴(kuò)充,它的具體實(shí)現(xiàn)類(lèi)常用的有ArrayList和LinkedList。你可以將任何東西放到一個(gè)List容器中,并在需要時(shí)從中取出。ArrayList從其命名中可以看出它是一種類(lèi)似數(shù)組的形式進(jìn)行存儲(chǔ),因此它的隨機(jī)訪問(wèn)速度極快,而LinkedList的內(nèi)部實(shí)現(xiàn)是鏈表,它適合于在鏈表中間需要頻繁進(jìn)行插入和刪除操作。在具體應(yīng)用時(shí)可以根據(jù)需要自由選擇。前面說(shuō)的Iterator只能對(duì)容器進(jìn)行向前遍歷,而ListIterator則繼承了Iterator的思想,并提供了對(duì)List進(jìn)行雙向遍歷的方法。 Set接口也是Collection的一種擴(kuò)展,而與List不同的時(shí),在Set中的對(duì)象元素不能重復(fù),也就是說(shuō)你不能把同樣的東西兩次放入同一個(gè)Set容器中。它的常用具體實(shí)現(xiàn)有HashSet和TreeSet類(lèi)。HashSet能快速定位一個(gè)元素,但是你放到HashSet中的對(duì)象需要實(shí)現(xiàn)hashCode()方法,它使用了前面說(shuō)過(guò)的哈希碼的算法。而TreeSet則將放入其中的元素按序存放,這就要求你放入其中的對(duì)象是可排序的,這就用到了集合框架提供的另外兩個(gè)實(shí)用類(lèi)Comparable和Comparator。一個(gè)類(lèi)是可排序的,它就應(yīng)該實(shí)現(xiàn)Comparable接口。有時(shí)多個(gè)類(lèi)具有相同的排序算法,那就不需要在每分別重復(fù)定義相同的排序算法,只要實(shí)現(xiàn)Comparator接口即可。集合框架中還有兩個(gè)很實(shí)用的公用類(lèi):Collections和Arrays。Collections提供了對(duì)一個(gè)Collection容器進(jìn)行諸如排序、復(fù)制、查找和填充等一些非常有用的方法,Arrays則是對(duì)一個(gè)數(shù)組進(jìn)行類(lèi)似的操作。 Map是一種把鍵對(duì)象和值對(duì)象進(jìn)行關(guān)聯(lián)的容器,而一個(gè)值對(duì)象又可以是一個(gè)Map,依次類(lèi)推,這樣就可形成一個(gè)多級(jí)映射。對(duì)于鍵對(duì)象來(lái)說(shuō),像Set一樣,一個(gè)Map容器中的鍵對(duì)象不允許重復(fù),這是為了保持查找結(jié)果的一致性;如果有兩個(gè)鍵對(duì)象一樣,那你想得到那個(gè)鍵對(duì)象所對(duì)應(yīng)的值對(duì)象時(shí)就有問(wèn)題了,可能你得到的并不是你想的那個(gè)值對(duì)象,結(jié)果會(huì)造成混亂,所以鍵的唯一性很重要,也是符合集合的性質(zhì)的。當(dāng)然在使用過(guò)程中,某個(gè)鍵所對(duì)應(yīng)的值對(duì)象可能會(huì)發(fā)生變化,這時(shí)會(huì)按照最后一次修改的值對(duì)象與鍵對(duì)應(yīng)。對(duì)于值對(duì)象則沒(méi)有唯一性的要求。你可以將任意多個(gè)鍵都映射到一個(gè)值對(duì)象上,這不會(huì)發(fā)生任何問(wèn)題(不過(guò)對(duì)你的使用卻可能會(huì)造成不便,你不知道你得到的到底是那一個(gè)鍵所對(duì)應(yīng)的值對(duì)象)。Map有兩種比較常用的實(shí)現(xiàn):HashMap和TreeMap。HashMap也用到了哈希碼的算法,以便快速查找一個(gè)鍵,TreeMap則是對(duì)鍵按序存放,因此它便有一些擴(kuò)展的方法,比如firstKey(),lastKey()等,你還可以從TreeMap中指定一個(gè)范圍以取得其子Map。鍵和值的關(guān)聯(lián)很簡(jiǎn)單,用pub(Object key,Object value)方法即可將一個(gè)鍵與一個(gè)值對(duì)象相關(guān)聯(lián)。用get(Object key)可得到與此key對(duì)象所對(duì)應(yīng)的值對(duì)象。 |
二、??? 編程題(12題4分,最后1題5分,其余每題2分。共35分)
1.? 手寫(xiě)一個(gè)表單內(nèi)容包括 ‘用戶(hù)名 text’ ‘年齡 text’ ‘性別 單選 默認(rèn)沒(méi)有選中’ ‘提交按鈕’ ‘重置按鈕’
| 答案 | <form action=”” method=”post”> <input? type=”text”? name=”txtName” > <input? type=”text”? name=”txtAge” > <input type=”radio” name=”rGender”/> <input? type=”submit” > <input? type=”reset” > </form> |
2.? 手寫(xiě)一個(gè)表格, 第一行2列, 第二行1列
| 答案 | <table style=”width:100px; height:100px” > <tr> <td>1</td><td>2</td> </tr> <tr> <td colspan=”2”>合并</td> </tr> </table> |
3.? 請(qǐng)聲明一個(gè)有100個(gè)元素的數(shù)組
| 答案 | 1)??????? String[] arr = new String[100]; 2)??????? Array arr = Array.CreateIntence(typeof(string),100); 注:Array類(lèi)是所有數(shù)組的父類(lèi) |
4.? x=4,y=6在不聲明新變量的情況下交換x,y的值
| 答案 | Int x = 4; Int y = 6; X+=y; Y = x – y?; X = x- y?; |
5.? 寫(xiě)一段程序,把 this is a apple? 變成 apple a is this 這種形式
| 答案 | string str = "this is a apple"; ??????????? string[] strs = str.Split(' '); ??????????? string output = ""; ??????????? for (int i = strs.Length - 1; i >= 0; i--) ?????????? ?{ ??????????????? output += strs[i] + " "; ??????????? } ??????????? if (output.Length > 0) ??????????? { ??????????????? output = output.Substring(0, output.Length - 1); ??????????? } ??????????? str = output; |
6.? 編寫(xiě)一個(gè)類(lèi),求一元二次方程的實(shí)根
| 答案 | x = double.Parse(a.Text); ??????????? y = double.Parse(b.Text); ??????????? z = double.Parse(c.Text);??????????? ??????????? if (x == 0) ??????????? { ??????????????? if(y!=0) ??????????????? { ??????????????? n1 = z / y; ??????????????? x1.Text = n1.ToString(); ??????????? ????//y1.Text = n2.ToString(); ??????????????? } ??????????????? if(y==0&&z!=0) ??????????????????? MessageBox.Show("b=0 無(wú)解", "wujie",MessageBoxButtons.OK, MessageBoxIcon.Warning); ??????????????? if(y==0&&z==0) ??????????????????? MessageBox.Show("無(wú)數(shù)組解", "00",MessageBoxButtons.OK); ??????????? } ??????????? if(x!=0) ??????????? { ??????????????? if (y * y - 4 * x * z >= 0) ??????????????? { ??????????????????? n1 = (-y + Math.Sqrt(y * y - 4 * x * z)) / (2 * x); ??????????????????? n2 = (-y - Math.Sqrt(y * y - 4 * x * z)) / (2 * x); ??????????????????? x1.Text = n1.ToString(); ??????????????????? y1.Text = n2.ToString(); ??????????????? } ??????????????? else ??????????????? { ??????????????????? MessageBox.Show("無(wú)解", "wujie",MessageBoxButtons.OK, MessageBoxIcon.Warning); ??????????????? } ??????????? } |
7.? 使用C#語(yǔ)言寫(xiě)出一個(gè)單例模式類(lèi)
| 答案 | Public class SingleClass { Private SingleClass() {} Static SingleClass objClass= null; Public static SingleClass GetObject() { ??? If(objClass!=null) ??? { ??????? objClass = new SingleClass(); } Return objClass; } } |
8.? 求以下表達(dá)式的值,寫(xiě)出您想到的一種或幾種實(shí)現(xiàn)方法: 1-2+3-4+……+m
| 答案 | int Num = this.TextBox1.Text.ToString() ; |
9.? 寫(xiě)出使用javascript進(jìn)行頁(yè)面跳轉(zhuǎn)的幾種方式?
| 答案 | 1、location.href="a.jsp" 2、window.location='a.jsp' |
10.用一條SQL語(yǔ)句將第一和第二張表連接成第三張表
| 答案 | select?? *?? from?? A???? union?? all???? select?? *?? from?? B???? ----2個(gè)表的全部記錄(包括重復(fù)的,不排序)?? ? or?????? select?? *?? from?? A???? union????? select?? *?? from?? B???? -----排序并去掉重復(fù)的記錄? |
11.寫(xiě)出正則表達(dá)式只許輸入整數(shù)
"^-?\d+$"
12.寫(xiě)一個(gè)完整的DAO層接口,用來(lái)對(duì)會(huì)員信息進(jìn)行添刪改查操作
13.查詢(xún)出Test表中ID重復(fù)三次以上的記錄
| 答案 | select * from test where id in (select id from test? group by id having count(*)>=3) |
14.索引列 sal? SQL語(yǔ)句:select * from product where sal*12<5000; 優(yōu)化此語(yǔ)句并簡(jiǎn)述原因
| 答案 | select * from product where sal<5000/12 計(jì)算和函數(shù)會(huì)使索引列失效,因此改為不對(duì)索引列進(jìn)行計(jì)算,就可以利用到索引列,提高查詢(xún)效率 |
15.根據(jù)以下表,完成sql語(yǔ)句
| 表S | ||||||||
| 字段名 | 字段描述 | 類(lèi)型 | 是否空 | |||||
| stno | ?學(xué)號(hào) | ???? int | ?not null | |||||
| stuname | stuname? 姓名 | ?? varchar2 | ?not null | |||||
| class? | ?班級(jí) | ?? varchar2 | ?null | |||||
| busary | 獎(jiǎng)學(xué)金 | ???? int | ?null | |||||
| 表C | ||||||||
| 字段名 | 字段描述 | 類(lèi)型 | 是否空 | |||||
| classID | 課程編號(hào) | int | ?not null | |||||
| Score | 分?jǐn)?shù) | int | ?null | |||||
| 表SC | ||||||||
| 字段名 | 字段描述 | 類(lèi)型 | 是否空 | |||||
| stno | ??? 學(xué)號(hào) | int | ?not null | |||||
| classID | 課程編號(hào) | int | ?not null | |||||
| 1查詢(xún)沒(méi)有獎(jiǎng)學(xué)金,但是至少有一們課的成績(jī)?cè)?0分以上
| ||||||||
| 2查詢(xún)成績(jī)?cè)?00分,但是沒(méi)獎(jiǎng)學(xué)金,并把獎(jiǎng)學(xué)金改為300
| ||||||||
| 3查詢(xún)張濤選學(xué),而李明沒(méi)有選學(xué)的課程
| ||||||||
| 4定義一個(gè)視圖 查詢(xún)獎(jiǎng)學(xué)金總額大于3000(包含3000)的班級(jí)
| ||||||||
三、??? 論述題(每題5分)
| 答案 | 3)??????? 連接數(shù)據(jù)庫(kù)失敗(數(shù)據(jù)庫(kù)連接串有問(wèn)題) 4)??????? 未將對(duì)象引用到對(duì)象的實(shí)例 (某些對(duì)象在使用過(guò)程中,未判斷是否等于null,然后就直接調(diào)用方法或者屬性) |
| 答案 | 1)Abstract Factory:提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴(lài)對(duì)象的接口,而無(wú)需指定它們具體的類(lèi)。用于可能使用多種數(shù)據(jù)源的情況。 2)Singleton:保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。用于一些工具類(lèi),如數(shù)據(jù)庫(kù)操作類(lèi)。 3)Iterator:提供一種方法順序訪問(wèn)一個(gè)聚合對(duì)象中各個(gè)元素, 而又不需暴露該對(duì)象的內(nèi)部表示。 如集合中類(lèi)的枚舉方法 |
| 答案 | ASP.NET Web 服務(wù)的基礎(chǔ)結(jié)構(gòu)是通過(guò)將SOAP消息映射到Web方法調(diào)用,為Web服務(wù)提供了簡(jiǎn)單的API。通過(guò)提供一種非常簡(jiǎn)單的編程模型 (基于將 SOAP 消息交換映射到方法調(diào)用),它實(shí)現(xiàn)了此機(jī)制。ASP.NET Web 服務(wù)的客戶(hù)端不需要了解用于創(chuàng)建它們的平臺(tái)、對(duì)象模型或編程語(yǔ)言。而服務(wù)也不需要了解向它們發(fā)送消息的客戶(hù)端。唯一的要求是:雙方都要認(rèn)可正在創(chuàng)建和使用的 SOAP 消息的格式,該格式是由使用 WSDL 和 XML 架構(gòu) (XSD) 表示的 Web 服務(wù)合約定義來(lái)定義的。 .NET Remoting 為分布式對(duì)象提供了一個(gè)基礎(chǔ)結(jié)構(gòu)。它使用既靈活又可擴(kuò)展的管線(xiàn)向遠(yuǎn)程進(jìn)程提供 .NET 的完全對(duì)象語(yǔ)義。ASP.NET Web 服務(wù)基于消息傳遞提供非常簡(jiǎn)單的編程模型,而 .NET Remoting 提供較為復(fù)雜的功能,包括支持通過(guò)值或引用傳遞對(duì)象、回調(diào),以及多對(duì)象激活和生命周期管理策略等。要使用 .NET Remoting,客戶(hù)端需要了解所有這些詳細(xì)信息,簡(jiǎn)而言之,需要使用 .NET 建立客戶(hù)端。(或者使用支持 .NET Remoting 的其他框架)。 |
| 答案 | Struts實(shí)現(xiàn)了mvc模式.其中,自定義標(biāo)簽和ActionForm實(shí)現(xiàn)了視圖層,ActionServlet,struts-Config.xml,action,RequestProcessor類(lèi)實(shí)現(xiàn)了控制器.JavaBean實(shí)現(xiàn)了業(yè)務(wù)邏輯層. |
總結(jié)
以上是生活随笔為你收集整理的就业模拟试题1_答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 就业模拟试题1
- 下一篇: 就业模拟试题2_答案