亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

.Net調用Java的實現方法

2019-11-14 21:03:46
字體:
來源:轉載
供稿:網友
.Net調用java的實現方法

一. IKVM1.1下載配置IKVM

1.1.1. 下載路徑

http://www.ikvm.net/index.html

1.1.2. 設置路徑

解壓ikvm-0.42.0.3.zip,并將%IKVM_HOME%/bin添加到path中。此處的%IKVM_HOME%是指解壓后ikvm的主目錄。

1.2第一種方式:直接將.class文件轉化成.dll

網站介紹

http://www.codePRoject.com/Articles/13549/Using-Java-Classes-in-your-NET-application

在Dos界面中輸入命令,轉到ikvm.exe應用程序的目錄下;

同時將要轉化的.class文件(例如testmain.class文件)放到目錄下,在dos里輸入以下命令:

ikvmc<空格>–target:library<空格>testmain.class

可在C:/Program Files/ikvm/bin目錄下查看生成的.dll文件

鏈接介紹節目如下:

1.3第二種方式:將Java的項目的jar包轉化成.dll

c#直接調用java代碼,需要ikvmbin-0.44.0.5.zip

1. 下載并解壓

2. 配置環境變量:

在path中添加%IKVM_HOME%/bin,IKVM_HOME為解壓后的IKVM的主目錄。在dos界面,輸入"ikvm"命令,測試是否配置成功

3. 編寫java代碼(java代碼,要放在指定的package下,不要放在默認包下):

1 package com.xyy.csharp;
 2 
3 import java.util.ArrayList;
 4 import java.util.List;
 5 
6 public class TestMain {
 7 
8 //獲得集合
 9 public List<Demo1> getLists(){
10 List<Demo1> lst=new ArrayList<Demo1>();
11 Demo1 d=new Demo1();
12 d.setId(1);
13 d.setName("admin");
14 Demo1 d2=new Demo1();
15 d2.setId(2);
16 d2.setName("sa");
17 
18 lst.add(d);
19 lst.add(d2);
20 return lst;
21 }
22 
23 //獲得字符串
24 public String getString(){
25 return "我是字符串";
26 }
27 
28 //獲得對象
29 public Demo1 getObject(){
30 Demo1 demo=new Demo1();
31 demo.setId(1);
32 demo.setName("admin");
33 return demo;
34 }
35 
36 //獲得boolean
37 public boolean getBoolean(){
38 return Boolean.TRUE;
39 }
40 
41 //在控制臺輸出
42 public void SystemOutPrint(){
43 System.out.println("我是控制臺輸出語句");
44 }
45 }

5. 將java項目打成jar包(test.jar),打包過程詳見備注:6. 在Dos界面中輸入命令,CD表示改變當前目錄,轉到ikvm.exe應用程序的目錄下;

同時將要轉化的.jar文件(例如ikvm.jar文件)放到目錄下,輸入命令,將ikvm.jar文件轉換成zhou.dll文件:

Ikvm命令格式:ikvmc<空格>-out:aaa.dll<空格>bbb.jar

其中:bbb.jar表示要轉化的.jar文件,aaa.dll表示要生成的.dll文件名。

7. 新建c#項目,引入以下三個dll:

%IKVM_HOME%/bin/IKVM.OpenJDK.Core.dll

%IKVM_HOME%/bin/IKVM.Runtime.dll

%IKVM_HOME%/bin/IKVM.Runtime.JNI.dll

引入剛剛打包的IKVM.dll

8.

9. 輸出結果:

10. c#不能直接接收java返回的集合,這里就沒深入研究了

備注:將JAVA項目打包成jar包過程

http://www.49028c.com/myCodingSky/p/3347511.html

java項目打jar包分為2種情況:

一、java項目沒有導入第三方jar包

1.首先在Eclipse中打開項目, 右鍵點擊項目,選擇“Export”;2. 選擇Java/JAR file,Next;3. Select the resources to export中可以選擇你想要包含的項目文件夾,一些不必要的文件夾就無需放進去了,免得增大空間;這里有幾個選項:*Export generated classfiles and resources 表示只導出生成的.class文件和其他資源文件* Export all output folders for checked projects 表示導出選中項目的所有文件夾* Export java source file and resouces 表示導出的jar包中將包含你的源代碼*.java,如果你不想泄漏源代碼,那么就不要選這項了* Export refactorings for checked projects 把一些重構的信息文件也包含進去

在Selectthe export destination中選擇導出的jar的路徑,Next4. 下一頁可以選擇是否導出那些含有警告warning或者錯誤errors的*.class文件。一般不用理他,Next5. 下一個頁面里可以對項目做一些配置。(如果項目沒有引入第三方jar包,這項我們采用系統默認的選項就OK,Mainclass一定要設置成為你項目的那個主方法入口類)* Generate the manifest file是系統幫我們自動生成MANIFEST.MF文件,如果你的項目沒有引用其他class-path,那可以選擇這一項。* Use existing mainfest from workspace 這是可以選擇我們自定義的.MF文件,格式如上所寫。* Seal content 要封裝整個jar或者指定的包packet* Main class 這里可以選擇你的程序入口,將來打包出來的jar就是你這個入口類的執行結果。最后Finish,搞定。......

二、 java項目有導入第三方Jar包(例如項目中有導入sqlserver2005.jar包)

這時候打包就相對復雜一點:

前面的4步和上面的情況是一樣,只是第5步需要選擇Useexisting mainfest from workspace選項,并選擇你自己創建的一個MANIFEST. MF文件,因為系統默認選擇的是Generate the manifest file選項,而該選項不會將項目用到得第三方jar包打入到java項目生成的jar包中去。

自定義配置文件MANIFEST.MF :

首先在項目的根目錄下創建一個MANIFEST.MF文件

接下來用記事本打開該文件,并編輯:

例如:Manifest-Version: 1.0Main-Class: StudentManager_TestClass-Path: sqlserver2005.jar其中的Manifest-Version是指程序的版本號,Main-Class是指程序的主方法入口類,slass-Path就指定了外來jar包的位置。請注意假設我們的項目打包后為project.jar,那么按照上面的定義,應該在 project.jar的同層目錄下有相關的jar包(即sqlserver2005.jar,如果有引入多個第三方jar包,則可以用空格隔開)放在里面。否則將會出現Exception in thread "main"java.lang.NoClassDefFoundError的錯誤。

二. Web Service

搭建JavaWebService

2.1什么是WebServices

它是一種構建應用程序的普遍模型,可以在任何支持網絡通信的操作系統中實施運行;它是一種新的Web應用程序分支,是自包含、自描述、模塊化的應用,可以發布、定位、通過Web調用。Web Service是一個應用組件,它邏輯性的為其他應用程序提供數據與服務.各應用程序通過網絡協議和規定的一些標準數據格式(Http,xml,Soap)來訪問Web Service,通過Web Service內部執行得到所需結果.Web Service可以執行從簡單的請求到復雜商務處理的任何功能。一旦部署以后,其他Web Service應用程序可以發現并調用它部署的服務。

關鍵的技術和規則

在構建和使用Web Service時,主要用到以下幾個關鍵的技術和規則:

1.XML: 描述數據的標準方法.

2.SOAP: 表示信息交換的協議.

3.WSDL: Web服務描述語言.

4.UDDI: 通用描述、發現與集成,它是一種獨立于平臺的,基于XML語言的用于在互聯網上描述商務的協議。

XML

可擴展的標記語言(XML)是Web Service平臺中表示數據的基本格式。除了易于建立和易于分析外,XML主要的優點在于它既是平臺無關的,又是廠商無關的。無關性是比技術優越性更重要的:軟件廠商是不會選擇一個由競爭對手所發明的技術的。

SOAP

SOAP是Web Service的標準通信協議,SOAP為simple objectaccess protocoll的縮寫,簡單對象訪問協議. 它是一種標準化的傳輸消息的XML消息格式。

WSDL

WSDL的全稱是web service Description Language,是一種基于XML格式的關于web服務的描述語言。其主要目的在于web service的提供者將自己的web服務的所有相關內容,如所提供的服務的傳輸方式,服務方法接口,接口參數,服務路徑等,生成相應的完全文檔,發布給使用者。使用者可以通過這個WSDL文檔,創建相應的SOAP請求消息,通過HTTP傳遞給webservice提供者;web服務在完成服務請求后,將SOAP返回消息傳回請求者,服務請求者再根據WSDL文檔將SOAP返回消息解析成自己能夠理解的內容。

UDDI

將web service進行UDDI注冊發布,UDDI是一種創建注冊表服務的規范,以便大家將自己的web service進行注冊發布供使用者查找.然而當服務提供者想將自己的web service向全世界公布,以便外部找到其服務時,那么服務提供者可以將自己的web service注冊到相應的UDDI商用注冊網站,目前全球有IBM等4家UDDI商用注冊網站。因為WSDL文件中已經給定了web service的地址URI,外部可以直接通過WSDL提供的URI進行相應的web service調用。所以UDDI并不是一個必需的web service組件,服務方完全可以不進行UDDI的注冊。

2.2 創建并發布自己的WebService

1 安裝MyEclipse

2 配置Tomcat

打開MyEclipse

菜單欄 –> File –>New –> Web Service Project

在這里,我們使用JAX-WS方式

JAX-WS

Jax-WS是Java1.6中才有的,新的Web Service模式,基于注解的方式配置Web Service,很類似asp中的Web Service,難度已經比Xfire方式的配置降低了很多.

REST(JAX-RS)

用的比較少

Xfire(已過時)

配置比較繁瑣

創建Service中的包及類庫,實現自己的業務。

我們創建的是一個用戶管理系統,自然需要來管理用戶。

發布Web Service

到此WS發布完成,接下來配置TomCat

在彈出的窗體中依次展開 MyEclipse->Servers –>Tomcat

對著項目右擊添加庫文件

到此,所有步驟都以配置完畢 開始部署

啟動TomCat

在工具欄中找到部署圖標

部署完成,打開IE進行測試

2.3創建客戶端進行測試

此時,項目中將會生成WS所需的類庫文件

創建一個調用測試類

到此,我們的Web Service就配置+測試完畢了。其實并不難,就算步驟比較多,比較繁瑣,容易忘記,可以當一個備忘錄吧,方便以后翻閱!

參考資料:http://www.49028c.com/lanxuezaipiao/p/3291641.html

http://blog.csdn.net/hehainan_86/article/details/28621989


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产视频在线一区二区| 亚洲国产91色在线| 亚洲免费一级电影| 97人洗澡人人免费公开视频碰碰碰| 国产精品狼人色视频一区| 日韩久久精品电影| 美女福利视频一区| 国产成人精品综合久久久| 成人免费网站在线| 中文字幕久久精品| 琪琪亚洲精品午夜在线| 欧美插天视频在线播放| 精品国产31久久久久久| 精品国产乱码久久久久久天美| 亚洲精选中文字幕| 久久精品视频亚洲| 国产精品久久色| 欧美成人一区在线| 日韩免费在线电影| 欧美专区福利在线| 日韩精品视频在线观看免费| 国产精品99久久99久久久二8| 国产精品电影一区| 亚洲电影免费观看高清完整版| 成人免费网视频| 久久国产一区二区三区| 色妞久久福利网| 亚洲一品av免费观看| 日本久久久久久| 国产精品你懂得| 国产精品视频不卡| 2019中文字幕在线| 欧美整片在线观看| 国产亚洲精品91在线| 欧洲精品在线视频| 欧美综合在线观看| 在线视频欧美日韩| 国产精品久久久久久av福利| 91精品国产成人www| 色爱av美腿丝袜综合粉嫩av| 久久伊人色综合| 中文字幕日韩综合av| 欧美成人中文字幕在线| 亚洲免费中文字幕| 欧美日韩裸体免费视频| 日本一区二区三区在线播放| 日韩三级影视基地| 欧美性感美女h网站在线观看免费| 91精品久久久久久久久| 国产精品久久av| 91精品国产综合久久久久久久久| 国产精品九九久久久久久久| 久久久噜噜噜久噜久久| 国产成人高潮免费观看精品| 国产一区二区三区在线观看视频| 亚洲黄色av女优在线观看| 亚洲激情在线观看视频免费| 亚洲理论在线a中文字幕| 日韩黄色av网站| 日韩有码在线观看| 亚洲女成人图区| 日韩中文字幕在线| 国产精品久久久久久搜索| 亚洲国产精品中文| 亚洲日本成人女熟在线观看| 国产精品高潮视频| 91亚洲国产成人久久精品网站| 国产999在线观看| 91免费看片在线| 久久亚洲私人国产精品va| 日韩精品电影网| 欧美理论电影网| 深夜精品寂寞黄网站在线观看| 国产精品高潮呻吟久久av野狼| 欧美伦理91i| 一本色道久久88亚洲综合88| 欧美日韩国产成人在线观看| 午夜精品久久久久久久久久久久| 黑人精品xxx一区| 日韩成人网免费视频| 蜜臀久久99精品久久久无需会员| 国内精品小视频| 亚洲精品wwwww| 亚洲色图美腿丝袜| 日韩中文在线中文网三级| 日韩免费观看高清| 青青久久av北条麻妃海外网| 日本a级片电影一区二区| 中文字幕在线看视频国产欧美| 久久久久久有精品国产| 久久久久久国产精品久久| 九九热这里只有精品6| 亚洲欧洲在线观看| 中文字幕av一区二区| 亚洲欧美色婷婷| 97精品国产97久久久久久免费| 国产日韩欧美在线| 日韩免费高清在线观看| 欧美激情中文字幕在线| 欧美成人精品激情在线观看| 久久成人一区二区| 精品国产一区二区在线| 日韩午夜在线视频| 日韩中文字幕不卡视频| 久久亚洲成人精品| 色无极亚洲影院| 性日韩欧美在线视频| 欧美精品激情blacked18| 中文亚洲视频在线| 久久av资源网站| 日韩在线观看av| 国产欧美精品一区二区三区介绍| 欧美精品激情blacked18| 国产精品久久久久久久久久久久| 日韩福利视频在线观看| 亚洲成人久久电影| 91免费看国产| 日韩av综合中文字幕| 日韩精品在线电影| 国产亚洲精品美女久久久久| 亚洲国产福利在线| 55夜色66夜色国产精品视频| 久青草国产97香蕉在线视频| 国产精品久久一区主播| 日韩av影视综合网| 久久久国产视频91| 日韩av色综合| 色狠狠av一区二区三区香蕉蜜桃| 中文字幕视频一区二区在线有码| 久久久噜噜噜久久中文字免| 成人免费观看a| 91精品国产综合久久香蕉922| 98视频在线噜噜噜国产| 国语自产精品视频在线看一大j8| 日韩精品电影网| 久久艹在线视频| 全色精品综合影院| 成人福利网站在线观看11| 亚洲综合日韩在线| 91精品国产91久久久久久久久| 夜夜嗨av一区二区三区四区| 日韩久久免费电影| 欧美黑人巨大xxx极品| 国产91热爆ts人妖在线| 亚洲曰本av电影| 亚洲在线免费观看| 在线观看欧美成人| 欧美一区二区三区四区在线| 亚洲精品mp4| 亚洲国产精品成人一区二区| 美女福利视频一区| 亚洲国产欧美一区二区丝袜黑人| 欧美亚洲视频一区二区| 久久夜精品va视频免费观看| 91免费高清视频| 热草久综合在线| 亚洲人成电影在线观看天堂色| 亚洲一区美女视频在线观看免费| 日韩有码在线播放| 性夜试看影院91社区| 国产精品入口免费视| 国产成人精品日本亚洲| 亚洲有声小说3d| 亚洲va国产va天堂va久久|