掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
數(shù)據(jù)庫(kù)如何生成WSDL文件詳解

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)嵩縣,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
隨著信息技術(shù)的不斷發(fā)展,Web服務(wù)作為一種新的分布式應(yīng)用模式,已經(jīng)得到了廣泛的應(yīng)用。而WSDL(Web Services Description Language)則成為了Web服務(wù)的基石,通過(guò)WSDL文件可以定義Web服務(wù)的訪問(wèn)地址、接口參數(shù)等,從而使不同的應(yīng)用程序之間可以互相調(diào)用。因此,本文將介紹數(shù)據(jù)庫(kù)如何生成WSDL文件的詳細(xì)過(guò)程。
一、WSDL文件概述
在介紹數(shù)據(jù)庫(kù)如何生成WSDL文件之前,我們需要先了解一下WSDL文件的概述和作用。WSDL是一種XML格式的文件,用于描述Web服務(wù)的訪問(wèn)地址、接口描述信息等。WSDL文件是Web服務(wù)的關(guān)鍵,其他應(yīng)用程序通過(guò)WSDL文件可以了解Web服務(wù)的接口定義、參數(shù)、返回值等重要信息,從而可以調(diào)用Web服務(wù)。
WSDL文件主要包含以下元素:
1. types:用于定義Web服務(wù)使用的數(shù)據(jù)類(lèi)型,如字符串、整數(shù)等基本類(lèi)型,以及自定義的結(jié)構(gòu)體、枚舉等復(fù)合類(lèi)型。
2. message:用于定義Web服務(wù)中的消息格式,包括輸入消息、輸出消息和錯(cuò)誤消息。
3. portType:用于定義Web服務(wù)的接口,包括操作、輸入消息、輸出消息和錯(cuò)誤消息。
4. binding:用于定義Web服務(wù)使用的傳輸協(xié)議和編碼方式,包括SOAP、HTTP等協(xié)議,以及XML、ON等編碼方式。
5. service:用于定義Web服務(wù)的訪問(wèn)地址和使用的協(xié)議,包括端口和地址。
二、使用數(shù)據(jù)庫(kù)生成wsdl文件的過(guò)程
現(xiàn)在讓我們來(lái)介紹一下如何使用數(shù)據(jù)庫(kù)生成WSDL文件的詳細(xì)過(guò)程。
1. 安裝SOAP擴(kuò)展模塊
在使用數(shù)據(jù)庫(kù)生成WSDL文件之前,我們需要先安裝SOAP擴(kuò)展模塊。SOAP是一種基于XML的通信協(xié)議,可以在HTTP、TP、TCP等多種傳輸協(xié)議上運(yùn)作,因此SOAP擴(kuò)展模塊是使用PHP生成Web服務(wù)所必需的擴(kuò)展模塊之一。
2. 編寫(xiě)PHP腳本
在安裝SOAP擴(kuò)展模塊之后,我們需要編寫(xiě)PHP腳本來(lái)實(shí)現(xiàn)Web服務(wù)。以下是一個(gè)簡(jiǎn)單的例子:
//包含SOAP擴(kuò)展模塊
require_once(“soap.php”);
//定義Web服務(wù)的基本信息
$server = new SOAP_server(“http://localhost/test”);
//添加Web服務(wù)的操作
$server->addFunction(“hello”);
//實(shí)現(xiàn)Web服務(wù)的函數(shù)
function hello($name) {
return “Hello, ” . $name . “!”;
}
//啟動(dòng)Web服務(wù)
$server->handle();
?>
在以上PHP腳本中,我們首先通過(guò)require_once函數(shù)包含了SOAP擴(kuò)展模塊,然后定義了Web服務(wù)的基本信息。接著我們添加了一個(gè)名為hello的操作,并實(shí)現(xiàn)了它的函數(shù)。這個(gè)函數(shù)將返回“Hello, ”加上輸入的$name參數(shù)的值。最后我們通過(guò)handle函數(shù)啟動(dòng)了Web服務(wù)。
3. 使用SOAP擴(kuò)展模塊生成WSDL文件
在編寫(xiě)完P(guān)HP腳本之后,我們可以使用SOAP擴(kuò)展模塊生成WSDL文件。以下是一個(gè)簡(jiǎn)單的例子:
//包含SOAP擴(kuò)展模塊
require_once(“soap.php”);
//生成WSDL文件
$wsdl = $server->getWSDL();
//輸出WSDL文件
header(“Content-Type: text/xml”);
echo $wsdl;
?>
在以上PHP腳本中,我們首先通過(guò)require_once函數(shù)包含了SOAP擴(kuò)展模塊。接著我們使用getWSDL函數(shù)生成WSDL文件,并通過(guò)header函數(shù)設(shè)置輸出的Content-Type類(lèi)型為text/xml。最后通過(guò)echo函數(shù)輸出生成的WSDL文件。
4. 使用Web瀏覽器測(cè)試Web服務(wù)
在使用數(shù)據(jù)庫(kù)生成WSDL文件之后,我們可以使用Web瀏覽器測(cè)試Web服務(wù)。以下是一個(gè)簡(jiǎn)單的例子:
http://localhost/test?wsdl
在Web瀏覽器中輸入以上URL地址,即可查看生成的WSDL文件。我們可以在其中查詢到Web服務(wù)的接口定義、參數(shù)、返回值等信息。如果我們?cè)谳斎胍陨蟄RL地址后,看到返回一個(gè)XML格式的WSDL文件,那么說(shuō)明我們已經(jīng)成功完成了使用數(shù)據(jù)庫(kù)生成WSDL文件的工作。
三、
本文介紹了數(shù)據(jù)庫(kù)如何生成WSDL文件的詳細(xì)過(guò)程。我們通過(guò)安裝SOAP擴(kuò)展模塊、編寫(xiě)PHP腳本、使用SOAP擴(kuò)展模塊生成WSDL文件和使用Web瀏覽器測(cè)試Web服務(wù)四個(gè)步驟,詳細(xì)講解了如何使用數(shù)據(jù)庫(kù)生成WSDL文件。通過(guò)本文的學(xué)習(xí),我們可以更好地理解WSDL文件的概念和作用,為Web服務(wù)的開(kāi)發(fā)和調(diào)用提供更好的支持。
相關(guān)問(wèn)題拓展閱讀:
直接用WSDL生成一個(gè)客戶端,就可以調(diào)用方法了
1. 包含一個(gè)controller servlet,能將用戶的請(qǐng)求發(fā)送到相應(yīng)的Action對(duì)象。
2. P自由tag庫(kù),并且在controller servlet中提供關(guān)聯(lián)支持,幫助開(kāi)發(fā)員創(chuàng)建交互式表單應(yīng)用。
3. 提供了一系列實(shí)用對(duì)象:XML處理、通過(guò)Java reflection APIs自動(dòng)處理JavaBeans屬性、國(guó)際化的提示和消息。
Struts項(xiàng)目的目標(biāo)是為創(chuàng)建Java web應(yīng)用提供一個(gè)開(kāi)放源代碼的framework。Struts framework的內(nèi)核是基于例如Java Servlets, JavaBeans, ResourceBundles, 和 XML,以及各種 Jakarta Commons包的標(biāo)準(zhǔn)技術(shù)的靈活的控制層。
8 jsp有哪些內(nèi)置對(duì)象?作用分別是什么?
答: P共有以下9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對(duì)應(yīng)):
request 用戶端請(qǐng)求,此請(qǐng)求會(huì)包含來(lái)自GET/POST請(qǐng)求的參數(shù)
response 網(wǎng)頁(yè)傳回用戶端的回應(yīng)
pageContext 網(wǎng)頁(yè)的屬性是在這里管理
session 與請(qǐng)求有關(guān)的會(huì)話期
application servlet 正在執(zhí)行的內(nèi)容
out 用來(lái)傳送回應(yīng)的輸出
config servlet的構(gòu)架部件
page P網(wǎng)頁(yè)本身
exception 針對(duì)錯(cuò)誤網(wǎng)頁(yè),未捕捉的例外
9 兩種跳轉(zhuǎn)方式分別是什么?有什么區(qū)別?
答: 有兩種,分別為:
I0前者頁(yè)面不會(huì)轉(zhuǎn)向include所指的頁(yè)面,只是顯示該頁(yè)的結(jié)果,主頁(yè)面還是原來(lái)的頁(yè)面。執(zhí)行完后還會(huì)回來(lái),相當(dāng)于函數(shù)調(diào)用。并且可 以帶參數(shù).后者完全轉(zhuǎn)向新頁(yè)面,不會(huì)再回來(lái)。相當(dāng)于go to 語(yǔ)句。
10 描述一下Jsp中Taglib的用法
答: 一、之一種方法:僅聲明TLD位置
在jsp文件頭部,聲明:
二、第二種方法:定義庫(kù)名稱
在jsp文件頭部,聲明:
在WEB.XML添加如下聲明:
taglib>
/orataglib
/WEB-INF/tlds/orataglib_1_0.tld
在tld里加上:
ora
/orataglib
11 Javascript中如何校對(duì)數(shù)字型?
答:
12 EJB2.0 中包括那些內(nèi)容?作用分別是什么?
答: 規(guī)范內(nèi)容包括Bean提供者,應(yīng)用程序裝配者,EJB容器,EJB配置工具,EJB服務(wù)提供者,系統(tǒng)管理員。這里面,EJB容器是EJB之所以 能夠運(yùn)行的核心。EJB容器管理著EJB的創(chuàng)建,撤消,激活,去活,與數(shù)據(jù)庫(kù)的連接等等重要的核心工作。P,Servlet,EJB,JNDI,JDBC,JMS…..
13 一個(gè)SessionBean包含哪幾個(gè)組件?各個(gè)組件作用是什么?
答: Session Bean 包含: Stateful Session Bean 與 Stateless Session Bean
Stateful Session Bean 可以記錄 呼叫者的狀態(tài),因此通常來(lái)說(shuō),一個(gè)使用者會(huì)有一個(gè)相對(duì)應(yīng)的 Stateful Session Bean 的實(shí)體。 Stateless Session Bean 不負(fù)責(zé)記錄使用者狀態(tài),也就是說(shuō)當(dāng)使用者呼叫 Stateless Session Bean 的時(shí)候, EJB Container 并不會(huì) 找尋特定的 Stateless Session Bean 的實(shí)體來(lái)執(zhí)行這個(gè) method 。換言之,很可能數(shù)個(gè)使用者在執(zhí)行某個(gè) Stateless Session Bean 的methods 時(shí),會(huì)是同一個(gè) Bean 的 Instance 在執(zhí)行。,
14 列舉一下你所知道的設(shè)計(jì)模式(包括EJB,J2EE的設(shè)計(jì)模式),以及它們應(yīng)用的場(chǎng)合?
答: Factory(工廠模式), Factory Method(工廠方法模式),
Prototype(原始模型模式),Singleton(單例模式),
Adapter(適配器模式), Decorator(裝飾模式),
Flyweight(享元模式), Proxy(代理模式),
Command(命令模式), Interpreter(解釋器模式),
Visitor(訪問(wèn)者模式),Iterator(迭代子模式),
Observer(觀察者模式), State(狀態(tài)模式),
主要用到了MVC的設(shè)計(jì)模式。用來(lái)開(kāi)發(fā)P/Servlet或者J2EE的相關(guān)應(yīng)用。
15 解析XML主要方法有哪些?各有什么區(qū)別?
答: 有DOM,SAX,STAX等
DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問(wèn)題是由DOM的樹(shù)結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件 之前把整個(gè)文檔裝入內(nèi)存,適合對(duì)XML的隨機(jī)訪問(wèn)SAX:不現(xiàn)于DOM,SAX是事件驅(qū)動(dòng)型的XML解析方式。它順序讀取XML文件,不需要一次全部 裝載整個(gè)文件。當(dāng)遇到像文件開(kāi)頭,文檔結(jié)束,或者標(biāo)簽開(kāi)頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用戶通過(guò)在其回調(diào)事件中寫(xiě)入處理代 碼來(lái)處理XML文件,適合對(duì)XML的順序訪問(wèn)
STAX:Streaming API for XML (StAX)
16 Hashtable的原理,并說(shuō)出HashMap與Hashtable的區(qū)別 Vector 和ArrayList有什么區(qū)別?
答:
HashTable的原理:通過(guò)節(jié)點(diǎn)的關(guān)鍵碼確定節(jié)點(diǎn)的存儲(chǔ)位置,即給定節(jié)點(diǎn)的關(guān)鍵碼k,通過(guò)一定的函數(shù)關(guān)系H(散列函數(shù)),得到函數(shù)值H(k),將 此值解釋為該節(jié)點(diǎn)的存儲(chǔ)地址.
就ArrayList與Vector主要從二方面來(lái)說(shuō).
一.同步性:Vector是線程安全的,也就是說(shuō)是同步的,而ArrayList是線程序不安全的,不是同步的
二.數(shù)據(jù)增長(zhǎng):當(dāng)需要增長(zhǎng)時(shí),Vector 默認(rèn)增長(zhǎng)為原來(lái)一培,而ArrayList卻是原來(lái)的一半
就HashMap與HashTable主要從三方面來(lái)說(shuō)。
一.歷史原因:Hashtable是基于陳舊的Dictionary類(lèi)的,HashMap是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)
二.同步性:Hashtable是線程安全的,也就是說(shuō)是同步的,而HashMap是線程序不安全的,不是同步的
三.值:只有HashMap可以讓你將空值作為一個(gè)表的條目的key或value
17 JAVA SERVLET API中forward() 與redirect()的區(qū)別?
答: 前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)的地 址,并重新發(fā)送請(qǐng)求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時(shí),盡 量使用forward()方法,并且,這樣也有助于隱藏實(shí)際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個(gè)其它服務(wù)器上的資源,則必須使用 sendRedirect()方法。
18 什么是Web容器?
答: 實(shí)現(xiàn)J2EE規(guī)范中web協(xié)議的應(yīng)用.該協(xié)議定義了web程序的運(yùn)行時(shí)環(huán)境,包括:并發(fā)性,安全性,生命周期管理等等.
19 EJB是基于哪些技術(shù)實(shí)現(xiàn)的?并說(shuō) 出SessionBean和EntityBean的區(qū)別,StatefulBean和StatelessBean的區(qū)別.
答: EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技術(shù)實(shí)現(xiàn).
SessionBean在J2EE應(yīng)用程序中被用來(lái)完成一些服務(wù)器端的業(yè)務(wù)操作,例如訪問(wèn)數(shù)據(jù)庫(kù)、調(diào)用其他EJB組件.EntityBean被用來(lái)代 表應(yīng)用系統(tǒng)中用到的數(shù)據(jù).對(duì)于客戶機(jī),SessionBean是一種非持久性對(duì)象,它實(shí)現(xiàn)某些在服務(wù)器上運(yùn)行的業(yè)務(wù)邏輯;EntityBean 是一種持久性對(duì)象,它代表一個(gè)存儲(chǔ)在持久性存儲(chǔ)器中的實(shí)體的對(duì)象視圖,或是一個(gè)由現(xiàn)有企業(yè)應(yīng)用程序?qū)崿F(xiàn)的實(shí)體.
Session Bean 還可以再細(xì)分為 Stateful Session Bean 與 Stateless Session Bean .這兩種的 Session Bean都可以將系統(tǒng) 邏輯放在method之中執(zhí)行,不同的是 Stateful Session Bean 可以記錄呼叫者的狀態(tài),因此通常來(lái)說(shuō),一個(gè)使用者會(huì)有一個(gè)相 對(duì)應(yīng)的 Stateful Session Bean 的實(shí)體.Stateless Session Bean 雖然也是邏輯組件,但是他卻不負(fù)責(zé)記錄使用者狀態(tài),也就 是說(shuō)當(dāng)使用者呼叫 Stateless Session Bean 的時(shí)候,EJB Container 并不會(huì)找尋特定的 Stateless Session Bean 的實(shí)體來(lái) 執(zhí)行這個(gè) method.換言之,很可能數(shù)個(gè)使用者在執(zhí)行某個(gè) Stateless Session Bean 的 methods 時(shí),會(huì)是同一個(gè) Bean 的 Instance 在執(zhí)行.從內(nèi)存方面來(lái)看,Stateful Session Bean 與 Stateless Session Bean 比較, Stateful Session Bean 會(huì) 消耗J2EE Server 較多的內(nèi)存,然而 Stateful Session Bean 的優(yōu)勢(shì)卻在于他可以維持使用者的狀態(tài).
20 什么是Web Service?
答: Web Service就是為了使原來(lái)各孤立的站點(diǎn)之間的信息能夠相互通信、共享而提出的一種接口。
Web Service所使用的是Internet上統(tǒng)一、開(kāi)放的標(biāo)準(zhǔn),如HTTP、XML、SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)、WSDL等,所以Web Service 可以在任何支持這些標(biāo)準(zhǔn)的環(huán)境(Windows,Linux)中使用。
注:SOAP協(xié)議(Simple Object Access Protocal,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議),它是一個(gè)用于分散和分布式環(huán)境下網(wǎng)絡(luò)信息交換的基于 XML的通訊協(xié)議。在此協(xié)議下,軟件組件或應(yīng)用程序能夠通過(guò)標(biāo)準(zhǔn)的HTTP協(xié)議進(jìn)行通訊。它的設(shè)計(jì)目標(biāo)就是簡(jiǎn)單性和擴(kuò)展性,這 有助于大量異構(gòu)程序和平臺(tái)之間的互操作性,從而使存在的應(yīng)用程序能夠被廣泛的用戶訪問(wèn)。
優(yōu)勢(shì):
(1).跨平臺(tái)。
(2).SOAP協(xié)議是基于XML和HTTP這些業(yè)界的標(biāo)準(zhǔn)的,得到了所有的重要公司的支持。
(3).由于使用了SOAP,數(shù)據(jù)是以ASCII文本的方式而非二進(jìn)制傳輸,調(diào)試很方便;并且由于這樣,它的數(shù)據(jù)容易通過(guò)防火墻,不需要防火 墻為了程序而單獨(dú)開(kāi)一個(gè)“漏洞”。
(4).此外,WebService實(shí)現(xiàn)的技術(shù)難度要比CORBA和DCOM小得多。
(5).要實(shí)現(xiàn)B2B集成,EDI比較完善與比較復(fù)雜;而用WebService則可以低成本的實(shí)現(xiàn),小公司也可以用上。
(6).在C/S的程序中,WebService可以實(shí)現(xiàn)網(wǎng)頁(yè)無(wú)整體刷新的與服務(wù)器打交道并取數(shù)。
缺點(diǎn):
(1).WebService使用了XML對(duì)數(shù)據(jù)封裝,會(huì)造成大量的數(shù)據(jù)要在網(wǎng)絡(luò)中傳輸。
(2).WebService規(guī)范沒(méi)有規(guī)定任何與實(shí)現(xiàn)相關(guān)的細(xì)節(jié),包括對(duì)象模型、編程語(yǔ)言,這一點(diǎn),它不如CORBA。
21 多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?
答: 多線程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類(lèi)與實(shí)現(xiàn)Runnable接口
同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify
22 Java編程,打印昨天的當(dāng)前時(shí)刻(機(jī)試)
23 struts的工作流程?
答: 在Struts中,用戶的請(qǐng)求一般以*.do作為請(qǐng)求服務(wù)名,所有的*.do請(qǐng)求均被指向ActionSevlet,ActionSevlet根據(jù)Struts-config.xml中 的配置信息,將用戶請(qǐng)求封裝成一個(gè)指定名稱的FormBean,并將此FormBean傳至指定名稱的ActionBean,由ActionBean完成相應(yīng)的業(yè)務(wù) 操作,如文件操作,數(shù)據(jù)庫(kù)操作等。每一個(gè)*.do均有對(duì)應(yīng)的FormBean名稱和ActionBean名稱,這些在Struts-config.xml中配置。
24 MVC的工作原理?
答: 控制:有一個(gè)XML文件Struts-config.xml,與之相關(guān)聯(lián)的是Controller,在Struts中,承擔(dān)MVC中Controller角色的是一個(gè)Servlet,叫 ActionServlet。ActionServlet是一個(gè)通用的控制組件。這個(gè)控制組件提供了處理所有發(fā)送到Struts的HTTP請(qǐng)求的入口點(diǎn)。它截取和分 發(fā)這些請(qǐng)求到相應(yīng)的動(dòng)作類(lèi)(這些動(dòng)作類(lèi)都是Action類(lèi)的子類(lèi))。另外控制組件也負(fù)責(zé)用相應(yīng)的請(qǐng)求參數(shù)填充 Action From(通常稱之 為FromBean),并傳給動(dòng)作類(lèi)(通常稱之為ActionBean)。動(dòng)作類(lèi)實(shí)現(xiàn)核心商業(yè)邏輯,它可以訪問(wèn)java bean 或調(diào)用EJB。最后動(dòng)作類(lèi)把 控制權(quán)傳給后續(xù)的P 文件,后者生成視圖。所有這些控制邏輯利用Struts-config.xml文件來(lái)配置。
視圖:主要由P生成頁(yè)面完成視圖,Struts提供豐富的P 標(biāo)簽庫(kù): Html,Bean,Logic,Template等,這有利于分開(kāi)表現(xiàn)邏輯和程序 邏輯。
模型:模型以一個(gè)或多個(gè)java bean的形式存在。這些bean分為三類(lèi):Action Form、Action、JavaBean or EJB。Action Form通常稱之 為FormBean,封裝了來(lái)自于Client的用戶請(qǐng)求信息,如表單信息。Action通常稱之為ActionBean,獲取從ActionSevlet傳來(lái)的FormBean ,取出FormBean中的相關(guān)信息,并做出相關(guān)的處理,一般是調(diào)用Java Bean或EJB等。
流程:在Struts中,用戶的請(qǐng)求一般以*.do作為請(qǐng)求服務(wù)名,所有的*.do請(qǐng)求均被指向ActionSevlet,ActionSevlet根據(jù)Struts- config.xml中的配置信息,將用戶請(qǐng)求封裝成一個(gè)指定名稱的FormBean,并將此FormBean傳至指定名稱的ActionBean,由ActionBean完 成相應(yīng)的業(yè)務(wù)操作,如文件操作,數(shù)據(jù)庫(kù)操作等。每一個(gè)*.do均有對(duì)應(yīng)的FormBean名稱和ActionBean名稱,這些在Struts-config.xml中 配置。 核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml。
FormBean的產(chǎn)生是為了提供數(shù)據(jù)給ActionBean,在ActionBean中可以取得FormBean中封裝的數(shù)據(jù),經(jīng)相應(yīng)的邏輯處理后,調(diào)用業(yè)務(wù)方法 完成相應(yīng)業(yè)務(wù)要求。
Servlet的演變:在常規(guī)的 P,Servlet,JavaBean三層結(jié)構(gòu)中,P實(shí)現(xiàn)View的功能,Servlet實(shí)現(xiàn)Controller的功能,JavaBean實(shí)現(xiàn) Model的實(shí)現(xiàn)。
在Struts中,將常規(guī)情況下的Servlet拆分與ActionServlet、FormBean、ActionBean三個(gè)部分。ActionServlet配合Struts-config.xml ,專職完成頁(yè)面導(dǎo)航,而不再負(fù)責(zé)具
25 寫(xiě)一段實(shí)現(xiàn)楊輝三角的代碼?
答:
26 java里的方法重載和方法覆蓋有什么區(qū)別?
答: 1、方法的覆蓋是子類(lèi)和父類(lèi)之間的關(guān)系,是垂直關(guān)系;方法的重載是同一個(gè)類(lèi)中方法之間的關(guān)系,是水平關(guān)系。
2、覆蓋只能由一個(gè)方法,或只能由一對(duì)方法產(chǎn)生關(guān)系;方法的重載是多個(gè)方法之間的關(guān)系。
3、覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。
4、覆蓋關(guān)系中,調(diào)用那個(gè)方法體,是根據(jù)對(duì)象的類(lèi)型(對(duì)象對(duì)應(yīng)存儲(chǔ)空間類(lèi)型)來(lái)決定;重載關(guān)系,是根據(jù)調(diào)用時(shí)的實(shí)參表與形參表來(lái) 選擇方法體的。
27 jsp有哪些動(dòng)作?作用分別是什么?
答: P共有以下6種基本動(dòng)作
jsp:include:在頁(yè)面被請(qǐng)求的時(shí)候引入一個(gè)文件。
jsp:useBean:尋找或者實(shí)例化一個(gè)JavaBean。
jsp:setProperty:設(shè)置JavaBean的屬性。
jsp:getProperty:輸出某個(gè)JavaBean的屬性。
jsp:forward:把請(qǐng)求轉(zhuǎn)到一個(gè)新的頁(yè)面。
jsp:plugin:根據(jù)瀏覽器類(lèi)型為Java插件生成OBJECT或EMBED標(biāo)記
28 一個(gè)int型的數(shù)組與一個(gè)int值,查詢int值在數(shù)組中的index值,還要寫(xiě)兩個(gè)測(cè)試用例
答:
29 線程的工作機(jī)制?wait與sleep的區(qū)別
答: sleep是線程類(lèi)(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自動(dòng)恢復(fù) 。調(diào)用sleep不會(huì)釋放對(duì)象鎖。
wait是Object類(lèi)的方法,對(duì)此對(duì)象調(diào)用wait方法導(dǎo)致本線程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等待鎖定池,只有針對(duì)此對(duì)象發(fā)出notify方 法(或notifyAll)后本線程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲得對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)。
30 Servlet與GenericServlet,HttpServlet的區(qū)別?在程序中一般用哪個(gè)?并實(shí)現(xiàn)什么方法?
答:
31 Hibernate的工作原理?
答: Hibernate是一個(gè)JDO工具。它的工作原理是通過(guò)文件把值對(duì)象和數(shù)據(jù)庫(kù)表之間建立起一個(gè)映射關(guān)系,這樣,我們只需要通過(guò)操作這些 值對(duì)象和Hibernate提供的一些基本類(lèi),就可以達(dá)到使用數(shù)據(jù)庫(kù)的目的。
32 寫(xiě)出實(shí)現(xiàn)單例模式的代碼?
答:
33 J2EE是什么?J2EE中有哪些組件,你的項(xiàng)目中用到了哪些組件?
答: Je22是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(component-base)的企業(yè)級(jí)應(yīng)用模型(enterpriese application model).在這樣的一個(gè)應(yīng)用系統(tǒng)中,可按照功能劃分為不同的組件,這些組件又可在不同計(jì)算機(jī)上,并且處于相應(yīng)的層次 (tier)中。所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層
34 簡(jiǎn)述你的項(xiàng)目的架構(gòu)及工作流程?
答:
35 String 和 StringBuffer 的區(qū)別?什么情況下用哪種字符串類(lèi)?
答: JAVA平臺(tái)提供了兩個(gè)類(lèi):String和StringBuffer,它們可以儲(chǔ)存和操作字符串,即包含多個(gè)字符的字符數(shù)據(jù)。這個(gè)String類(lèi)提供了 數(shù)值不可改變的字符串。而這個(gè)StringBuffer類(lèi)提供的字符串進(jìn)行修改。當(dāng)你知道字符數(shù)據(jù)要改變的時(shí)候你就可以使用StringBuffer。 典型地,你可以使用StringBuffers來(lái)動(dòng)態(tài)構(gòu)造字符數(shù)據(jù)。
36 java 中的序列化操作要實(shí)現(xiàn)什么接口?并實(shí)現(xiàn)什么方法?
答: 實(shí)現(xiàn)Externalizable接口。Externalizable接口定義包括兩個(gè)方法writeExternal()與readExternal()。利用這些方法可以控制對(duì)象數(shù)據(jù) 成員如何寫(xiě)入字節(jié)流.類(lèi)實(shí)現(xiàn)Externalizable時(shí),頭寫(xiě)入對(duì)象流中,然后類(lèi)完全負(fù)責(zé)序列化和恢復(fù)數(shù)據(jù)成員。
37 接口中可以定義屬性嗎?如果可以應(yīng)該定義什么類(lèi)型的屬性?
答:可以 應(yīng)該定義public類(lèi)型的屬性,不寫(xiě)則默認(rèn)為 public static類(lèi)型的
訪問(wèn)WEBSERVICE本來(lái)都不需要使用P頁(yè)面吧?直接客戶端調(diào)用就行了啊。如果有返回對(duì)象的話,生成一下對(duì)象,如果只返回的基本類(lèi)型的話,直接解析XML就OK了。
當(dāng)然不是為了安全,是為了邏輯清楚,方便管理
使用數(shù)據(jù)庫(kù)的時(shí)候是有路徑的,如果原來(lái)不在app_data下,后來(lái)才放過(guò)去,要修改原來(lái)使用數(shù)據(jù)庫(kù)的鏈接路徑
存放數(shù)據(jù)庫(kù)文件的,比如ACCESS,SQL 2023 簡(jiǎn)化版 貌似也可以
在代碼中可以方便的調(diào)用|DataDirectory|可以直接訪問(wèn)app_data文件夾
以下是其他一些ASP.NET的常用文件夾
1. Bin文件夾
Bin文件夾包含應(yīng)用程序所需的,用于控件、組件或者需要引用的任何其他代碼的可部署程
序集。該目錄中存在的任何.dll文 件將自動(dòng)地鏈接到應(yīng)用程序。
2. App_Browser文件夾
該可選的文件夾包含.browser文件。.browser文件描述瀏覽器(不管是移動(dòng)設(shè)備瀏覽器,還
是臺(tái)式機(jī)瀏覽器)的特 征和功能。
3. App_Code文件夾
App_Code文件夾正好在Web應(yīng)用程序根目錄下,其存儲(chǔ)所有應(yīng)當(dāng)作為應(yīng)用程序的一部分動(dòng)態(tài)
編譯的類(lèi)文件。這些類(lèi)文件自 動(dòng)鏈接到應(yīng)用程序,而不需要在頁(yè)面中添加任何顯式指令或
聲明來(lái)創(chuàng)建依賴性。App_Code文件夾中放置的類(lèi)文件可以包含任何可識(shí)別的ASP.NET組件
——自定義控件、輔助類(lèi)、build提供程序、業(yè)務(wù)類(lèi)、自定義提供程序、HTTP處理程序等。
注意 在開(kāi)發(fā)時(shí),對(duì)App_Code文件夾的更改會(huì)導(dǎo)致整個(gè)應(yīng)用程序重新編譯。對(duì)于大型
項(xiàng)目,這可能不受歡迎,而且很耗時(shí)。為此,鼓勵(lì)大家將代碼進(jìn)行模塊化處理 到不同的類(lèi)
庫(kù)中,按邏輯上相關(guān)的類(lèi)進(jìn)行組織。應(yīng)用程序?qū)S玫妮o助類(lèi)大多應(yīng)當(dāng)放置在App_Code文
件夾中。
App_Code文件夾中存放的所有類(lèi)文件應(yīng)當(dāng)使用相同的語(yǔ)言。如果類(lèi)文件使用兩種或多種語(yǔ)言
編寫(xiě),則必須創(chuàng)建特定語(yǔ)言的子目錄,以包含用每種語(yǔ)言編寫(xiě)的類(lèi)。一旦根據(jù)語(yǔ)言組織這些
類(lèi)文件,就要在web.config文件中為每個(gè)子目錄添加一個(gè)設(shè)置:
重要的是,特定語(yǔ)言的子目錄應(yīng)在web.config文件中注冊(cè),否則,不管它們屬于哪個(gè)文件夾
,App_Code文件夾下 的所有文件將被編譯成一個(gè)單獨(dú)的程序集。上述配置腳本描述了這么
一種情況,即所有的C#文件都放在App_Code文件夾的根目錄下,而把幾個(gè) Visual Basic
.NET類(lèi)文件移入VBFolder目錄中。如果節(jié)中提到的目錄不存在,則
會(huì)收到一個(gè)編譯錯(cuò)誤提 示。
App_Code根文件夾中的文件被編譯成App_Code_xxx.dll程序集,其中xxx是隨機(jī)生成的字符
序列。一個(gè) 給定子目錄中的文件將被編譯成一個(gè)名為App_SubCode_xxx_yyy.dll的動(dòng)態(tài)創(chuàng)
建的程序集,其中xxx指示子目錄的名稱,而yyy是一個(gè) 隨機(jī)字符序列。只有在應(yīng)用程序根
目錄中的web.config文件中進(jìn)行了設(shè)置,節(jié)才有效。
在App_Code目錄或任何其他子目錄中放置一個(gè)assemblyinfo.cs文件,可以創(chuàng)建一個(gè)強(qiáng)命名
的程序集。顯然,如果該文件夾包含Visual Basic .NET文件,那么將使用
assemblyinfo.vb文件。程序集配置文件可以引用一個(gè).snk文件來(lái)保存強(qiáng)名稱的密鑰。
注意 給一個(gè)程序集設(shè)置一個(gè)強(qiáng)名稱,首先必須獲得一個(gè)公開(kāi)/私有密鑰對(duì)。通過(guò)
使用強(qiáng)名稱(Strong Name)工具(sn.exe),可以獲得這樣一個(gè)密鑰對(duì)。強(qiáng)名稱工具是我們可
以在.NET Framework的安裝路徑中發(fā)現(xiàn)的SDK binary之一。密鑰對(duì)文件通常有一個(gè).snk擴(kuò)
展名。可以將該文件保存到一個(gè)應(yīng)用程序文件夾中,并在assemblyinfo.cs文件中引用它,
如下所示:
注意,Visual Basic .NET是在包含Visual Studio Solution的目錄中尋找密鑰文件,
而C#編譯器則在包含該binary的目錄中尋找密鑰文件。據(jù)此可知,用此屬性調(diào)整我們使用的
路徑,或者把密鑰文件放在合適的文件夾中。
在隨后發(fā)生的任何重新生成中,程序集的名稱將發(fā)生變化。同時(shí),老的AppDomain請(qǐng)求一結(jié)
束,就刪除老的程序集。
App_Code文件夾并非只能包含類(lèi)文件。特別是,它可以包含并能自動(dòng)地處理代表數(shù)據(jù)架構(gòu)的
XSD文件。把一個(gè)XSD文件 添加到該文件夾中時(shí),編譯器將把它解析成一個(gè)有類(lèi)型的
DataSet類(lèi),并將它添加到應(yīng)用程序作用域中。在ASP.NET 1.x中,這一工作由Visual
Studio .NET向?qū)?,使用一個(gè)命令行實(shí)用程序(xsd.exe)完成的。
注意 使用web.config文件注冊(cè)一個(gè)組件(例如,一個(gè)自定義的服務(wù)器控件或一
個(gè)自定義的HTTP處理程序)時(shí),通常要求指定包含該代碼的程序集名稱。如 果該組件定義
在App_Code文件夾中,則應(yīng)該用什么名稱來(lái)指示程序集?在這種情況下,只是忽略程序集信
息,并規(guī)定完整的類(lèi)名即可。如果沒(méi)有規(guī)定任何程 序集,則ASP.NET運(yùn)行庫(kù)將試圖從任何
已裝載的程序集中裝入該類(lèi),包括為App_Code文件夾動(dòng)態(tài)創(chuàng)建的程序集。
4. App_Data文件夾
App_Data文件夾應(yīng)該包含應(yīng)用程序的本地?cái)?shù)據(jù)存儲(chǔ)。它通常以文件(諸如Microsoft
Access或Microsoft SQL Server Express數(shù)據(jù)庫(kù)、XML文件、文本文件以及應(yīng)用程序支持
的任何其他文件)形式包含數(shù)據(jù)存儲(chǔ)。該文件夾內(nèi)容不由ASP.NET處理。該文件夾是ASP.NET
提供程序存儲(chǔ)自身數(shù)據(jù)的默認(rèn)位置。
注意 默認(rèn)ASP.NET帳戶被授予對(duì)文件夾的完全訪問(wèn)權(quán)限。如果碰巧要改變
ASP.NET帳戶,一定要確保新帳戶被授予對(duì)該文件夾的讀/寫(xiě)訪問(wèn)權(quán)。
5. App_GlobalResources文件夾
6. App_LocalResources文件夾
7. App_Themes文件夾
App_Themes文件夾為ASP.NET控件定義主題。主題包含在App_Themes文件夾下的一個(gè)文件夾
。根據(jù)定義,一個(gè)主題是一組帶有樣式信息的文件。主題文件夾中的文件內(nèi)容被編譯,以生
成一個(gè)類(lèi),而該類(lèi)被頁(yè)面調(diào)用以編程的方式設(shè)置主題化控件的樣式。
App_Themes文件夾列出應(yīng)用程序的本地主題。 應(yīng)用程序還可以繼承如下文件夾中定義的全
局主題:
%WINDOWS%\Microsoft.NET\Framework\\ASP.NETClientFiles\Themes
從編譯的角度看,全局主題和局部主題沒(méi)有區(qū)別。如果一個(gè)給定名稱的主題,既存在應(yīng)用程
序的本地主題,又存在服務(wù)器機(jī)器的全局主題,則本地主題優(yōu)先適用。
8. App_WebReferences文件夾
在Visual Studio .NET 2023中,一個(gè)需要訪問(wèn)Web服務(wù)的ASP.NET應(yīng)用程序,將通過(guò)“添
加Web引用”對(duì)話框獲得相應(yīng)的.wsdl文件。Web服務(wù)的WSDL(Web Service Description
Language)文檔,對(duì)于從頁(yè)面使用Web服務(wù)是不夠的。ASP.NET頁(yè)面最終是一個(gè)托管類(lèi),并且
需要與另一個(gè)托管類(lèi)通信。因此,Web服務(wù)被一個(gè) 代理類(lèi)所包裝。該代理類(lèi)是由Visual
Studio使用命令行工具wsdl.exe的服務(wù)創(chuàng)建的。該代理類(lèi)盡量包含與Web服務(wù)商的Web方法一
樣多的方法,并且它結(jié)合了Web服務(wù)的公共接口 定義的任何自定義的數(shù)據(jù)類(lèi)型。
這個(gè)操作不需要開(kāi)發(fā)人員付出很大的代價(jià)。然而,開(kāi)發(fā)人員顯然要依賴于Visual Studio來(lái)
生成代理類(lèi)。如果能夠直接把.wsdl文件放在應(yīng)用程序的目錄樹(shù)的某個(gè)地方,并讓ASP.NET處
理其余的任務(wù),這樣不是更容易、更簡(jiǎn)單 嗎?這正好是App_WebReferences文件夾要做的
事情。
它識(shí)別那些用來(lái)描述所綁定的Web服務(wù)的.wsdl文件,并生成運(yùn)行時(shí)代理類(lèi),以便ASP.NET頁(yè)
面能夠以類(lèi)型安全的方式 放置對(duì)Web服務(wù)的調(diào)用。App_WebReferences文件夾可以包含子文
件夾。子文件夾的名稱驅(qū)動(dòng)最后所得到的代理類(lèi)的命名空間,而WSDL文件 定義類(lèi)名。例如
,samples.wsdl文件和ProsAspNet20子文件夾將創(chuàng)建一個(gè)稱為ProAspNet20.Samples的代理
類(lèi)。該動(dòng) 態(tài)創(chuàng)建的程序集稱為App_WebReferences.xxx.dll,其中xxx是一個(gè)隨機(jī)的字符序
列。
文件夾名稱
文件類(lèi)型
注 釋
Bin
.dll
包含應(yīng)用程序所需的任何預(yù)生成的程序集
App_Browsers
.browser
包含應(yīng)用程序特有的瀏覽器定義文件,ASP.NET用它來(lái)識(shí)別各瀏覽器及確定它們的功能
App_Code
.cs、.vb、.xsd、自定義的文件類(lèi)型
包含作為應(yīng)用程序的一部分編譯的類(lèi)的源文件。當(dāng)頁(yè)面被請(qǐng)求時(shí),ASP.NET編譯該文件夾
中的代碼。該文件夾中的代碼在應(yīng)用程序中自動(dòng)地被引用
App_Data
.mdb、.mdf、.xml
包含Microsoft Office Access和SQL Express文件以及XML文件或其他數(shù)據(jù)存儲(chǔ)
App_GlobalResources
.resx
包含在本地化應(yīng)用程序中以編程方式使用的資源文件
App_LocalResources
.resx
包含頁(yè)面范圍的資源文件
App_Themes
.skin、.CSS、.xsl、附屬文件
包含一組定義ASP.NET頁(yè)面和控件外觀的文件
App_WebReferences
.wsdl
App_Data文件夾的作用是存儲(chǔ)本地?cái)?shù)據(jù)庫(kù)文件,使用該文件夾進(jìn)行保存數(shù)據(jù)庫(kù)文件,可以很清晰有結(jié)構(gòu)地管理各文件;好的應(yīng)用程序需要好的邏輯結(jié)構(gòu)進(jìn)行管理,無(wú)論是編碼還是文件架構(gòu)。
是放頁(yè)面使用的類(lèi)!
1.Web Service:嚴(yán)格來(lái)說(shuō)是行業(yè)標(biāo)準(zhǔn),也就是Web Service 規(guī)范,也稱作WS-* 規(guī)范,既不是框架,也不是技術(shù). 它有一套完成的規(guī)范體系標(biāo)準(zhǔn),而且在持續(xù)不斷的更新完善中. 它使用XML擴(kuò)展標(biāo)記語(yǔ)言來(lái)表示數(shù)據(jù)(這個(gè)是談雀褲夸語(yǔ)言和平臺(tái)的關(guān)鍵).微軟的Web服務(wù)實(shí)現(xiàn)稱為ASP.NET Web Service.它使用Soap簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議來(lái)實(shí)現(xiàn)分布式環(huán)境里應(yīng)用程序之間.
2.WCF:WCF 是一個(gè)分布式應(yīng)用的開(kāi)發(fā)框架,屬于特定的技術(shù),或者平臺(tái).既不是標(biāo)準(zhǔn)也不是規(guī)范。
環(huán)球網(wǎng)
目前,該詞匯又引申為含簡(jiǎn)“環(huán)球網(wǎng)”,而且,在不歲猜同的領(lǐng)域,有不同的含義。
就拿“環(huán)球網(wǎng)”的釋義來(lái)說(shuō),對(duì)于普通的用戶來(lái)說(shuō),web僅僅只是一種環(huán)境——互聯(lián)網(wǎng)的使用環(huán)境、氛圍、內(nèi)容等;而對(duì)于網(wǎng)站制作、設(shè)計(jì)者來(lái)說(shuō),它是一系列技術(shù)的復(fù)合總稱(包括網(wǎng)站的前臺(tái)布局、后臺(tái)程序、美工、數(shù)據(jù)庫(kù)領(lǐng)域等等的技術(shù)概括性的總稱)。
關(guān)于數(shù)據(jù)庫(kù)生成wsdl的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站營(yíng)銷(xiāo)推廣找創(chuàng)新互聯(lián),全國(guó)分站站群網(wǎng)站搭建更好做SEO營(yíng)銷(xiāo)。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價(jià)格厚道。提供成都服務(wù)器托管租用、綿陽(yáng)服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽(yáng)服務(wù)器機(jī)房服務(wù)器托管租用。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流