日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

inttostr java_Delphi和Java实现webservice架构

發布時間:2023/12/10 java 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 inttostr java_Delphi和Java实现webservice架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Webservice現在已經不是什么新技術了,用java建立webservice是快捷的,但是用java在制作客戶端的感覺上總是不如 Delphi的(個人感覺,java高手們不要笑話我),那我們就用java實現webservice的服務端程序,delphi制作客戶端。

一.環境搭建

jdk和tomcat的安裝和配置我在這里不進行行介紹了。說明一點我的tomcat是安裝在D:\tomcat,設定端口是8099。

安裝Axis

1.可以從http://ws.apache.org/axis/下載axis的最新版本,我使用的是axis1.2。

2.解壓縮axis-bin-1_2beta.zip,將axis-1_2beta目錄中webapps下的axis目錄全部拷貝到tomcat的安裝目錄中webapps下。

3.將axis\lib中的所有jar文件都添加到classpath系統變量中。

注(用戶需根據自己的安裝路徑進行更改):

.;

d:\tomcat\webapps\axis\WEBINF\lib\axis.jar;

d:\tomcat\webapps\axis\WEB-INF\lib\saaj.jar;

d:\tomcat\webapps\axis\WEB-INF\lib\commons-logging.jar;

d:\tomcat\webapps\axis\WEB-INF\lib\commons-discovery.jar;

d:\tomcat\webapps\axis\WEB-INF\lib\wsdl4j.jar;

d:\tomcat\webapps\axis\WEBINF\lib\jaxrpc.jar;

4.啟動tomcat訪問http://cbf107:8099/axis/index.html(這里使用的主機名和端口號和使用的tomcat所配置一致)。

可以見到如下頁面:

二.Web?Service服務端開發

寫一個java小程序:

public?class?Test{

public?int?add(int?p1,?int?p2)?{

return?p1?+?p2;

}

public?int?subtract(int?p1,?int?p2)?{

return?p1?-?p2;

}

}

在D:\Tomcat\webapps\axis?目錄下新建一個test文件夾,將它保存在里面,注意:后綴名改為jws,也就是Test.jws?。

在瀏覽器里訪問:http://cbf107:8099/axis/test/Test.jws可以看到

點擊“Click?to?see?the?WSDL”出現

將這頁另存為xml文檔(我們在使用delphi制作客戶端的時候會使用)

三.delphi實現Web?Service客戶端開發

打開delphi新建工程,在form上放置兩個edit和兩個button,button的name命名為

btnadd和btnsubtract,caption命名為add和subtract。

再file->new->other,選擇webservice里的WSDL?importer

在search?UDDI..里選擇前面我們保存的那個xml文件,點擊next最后finish

?

全部保存,我們發現delphi的工程中多了test1.pas

打開發現有這樣一段接口申明:

Test?=?interface(IInvokable)

[‘{52882FF0-46E2-6644-A77B-CE714D4CBFD5}‘]

function??add(const?p1:?Integer;?const?p2:?Integer):?Integer;?stdcall;

function??subtract(const?p1:?Integer;?const?p2:?Integer):?Integer;?stdcall;

end;

那我們可以直接調用這個接口了,這時候我們回到界面,從delphi的webservices面版中托放一個soap到form上。

設置屬性如圖:

最后我們可以完成我們的代碼了:

1.在uses里添加test1因為我們要引用這個單元。

2.添加全局變量t1:test;(t1是一個test接口)

3.為兩個button添加click事件

procedure?TForm1.btnaddClick(Sender:?TObject);

var

i,j,z:integer;

begin

i:=strtoint(edit1.Text);

j:=strtoint(edit2.Text);

t1:=(HttPRIO1?as?test);

z:=t1.add(i,j);

t1._Release;

showmessage(inttostr(z));

end;

procedure?TForm1.btnsubstractClick(Sender:?TObject);

var

i,j,z:integer;

begin

i:=strtoint(edit1.Text);

j:=strtoint(edit2.Text);

t1:=(HttPRIO1?as?test);

z:=t1.subtract(i,j);

t1._Release;

showmessage(inttostr(z));

end;

4.F9運行程序進行測試

看我們有用delphi實現了java寫的那段程序,不是嗎。

5.也許到這里你認為應該已經完成了,沒錯!不過對webservice還不夠了解的

朋友你再修改一下那個java程序,也就是將Test.jws里的這個方法

public?int?add(int?p1,?int?p2)?{

return?p1?+?p2;

}

改為

public?int?add(int?p1,?int?p2)?{

return?p1?+?p2+10;

}

再運行一下你的客戶端程序看看。

四.注:unit1的所有代碼

unit?Unit1;

interface

uses

Windows,?Messages,?SysUtils,?Variants,?Classes,?Graphics,?Controls,?Forms,

Dialogs,?StdCtrls,?Rio,?SOAPHTTPClient,Test1;

type

TForm1?=?class(TForm)

HTTPRIO1:?THTTPRIO;

Edit1:?TEdit;

Edit2:?TEdit;

btnadd:?TButton;

btnsubstract:?TButton;

procedure?Edit2KeyPress(Sender:?TObject;?var?Key:?Char);

procedure?btnaddClick(Sender:?TObject);

procedure?btnsubstractClick(Sender:?TObject);

private

{?Private?declarations?}

public

{?Public?declarations?}

end;

var

Form1:?TForm1;

t1:test;

implementation

{$R?*.dfm}

//這里是為了讓?兩個edit只能輸入數字,edit1的onkeypress直接調用這個就可以了。

procedure?TForm1.Edit2KeyPress(Sender:?TObject;?var?Key:?Char);

begin

if?key?in?[‘0‘..‘9‘]=false?then

key:=#0;

end;

procedure?TForm1.btnaddClick(Sender:?TObject);

var

i,j,z:integer;

begin

i:=strtoint(edit1.Text);

j:=strtoint(edit2.Text);

t1:=(HttPRIO1?as?test);

z:=t1.add(i,j);

t1._Release;

showmessage(inttostr(z));

end;

procedure?TForm1.btnsubstractClick(Sender:?TObject);

var

i,j,z:integer;

begin

i:=strtoint(edit1.Text);

j:=strtoint(edit2.Text);

t1:=(HttPRIO1?as?test);

z:=t1.subtract(i,j);

t1._Release;

showmessage(inttostr(z));

end;

end.

總結

以上是生活随笔為你收集整理的inttostr java_Delphi和Java实现webservice架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。