冷月葬花魂 发表于 2015-1-16 22:21:04

ASP.NET网页编程之C# 制造Com组件:java挪用.net DLL的办法...

c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。</p>本文将具体为人人先容一个java挪用.netDLL的办法,以完成特别的客户的特别请求:“在Java项目中必需利用其供应的用.net写的DLL加密机制!”
情况与工具:
◆.netframework3.5C#
◆javajdk1.5,Tomcat5.5
◆jacob-1.15-M3
完成例子:
1、C#制造Com组件
新建一个Class项目,取名TestCom
代码
usingSystem;usingSystem.Collections.Generic;
usingSystem.Linq;usingSystem.Text;
usingSystem.Runtime.InteropServices;
namespaceTestCom
{
publicinterfaceIEncrypt
{
stringGetEncrypt(stringstr,stringstr2);
}
[Guid("33A6E58D-E1F5-4b53-B2E2-03B9F8BA2FAD"),
ClassInterface(ClassInterfaceType.None)]
publicclassEncrypt:IEncrypt
{publicEncrypt(){}
publicstringGetEncrypt(stringstr,stringstr2)
{
return"测试"+str+""+str2;
}
}
}
翻开Project-->Properties菜单在Application标签中翻开AssemblyInformation将MakeassemblyCom-Visible一项选中。再切换到Build标签将RegisterforCOMinterop一项选中。
Guid的天生:翻开VisualStudioCommandPrompt输出guidgen命令修改工具。范例选择RegistryFormat,点击NewGuid,然后COPY出来。
为函数的标识。假如有多个函数可响应的在函数后面加,…
编译程序Debug目次中会天生TestCom.dll和TestCom.tlb
手工注册Com办法:
翻开VisualStudioCommandPrompt进进Debug目次,运转命令注册:regasmTestCom.DLL/tlb:TestCom.tlb
2、Java挪用Com
部署jacob
◆在开辟情况中引进jacob.jar
◆拷贝jacob-1.15-M3-x86.dll文件到C:WindowsSystem32目次,假如是Web使用的话还必要拷贝到jdk1.5.0_16in目次(jdk安装目次下的bin目次)
java挪用代码
代码
importcom.jacob.activeX.ActiveXComponent;
importcom.jacob.com.ComThread;
importcom.jacob.com.Dispatch;
importcom.jacob.com.Variant;
publicclasstest
{
/***@paramargs*/
publicstaticvoidmain(String[]args)
{
//TODOAuto-generatedmethodstub
try
{
ActiveXComponentdotnetCom=null;
dotnetCom=newActiveXComponent("TestCom.Encrypt");
Variantvar=Dispatch.call(dotnetCom,
"GetEncrypt","哥是第一个参数","哥是第二个参数");
Stringstr=var.toString();//前往值
}catch(Exceptionex)
{
ex.printStackTrace();
}
}
}这便完成了Java挪用.netDLL的办法!
据说很厉害,甚至可以把C#也干掉^_^,不过也很复杂,本来C++已经够复杂的。有人甚至还提出把这个东东引进标准,我觉得基本上不可能的。

愤怒的大鸟 发表于 2015-1-24 12:39:10

碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。

小魔女 发表于 2015-2-1 12:09:33

主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。

老尸 发表于 2015-2-7 05:13:47

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。

第二个灵魂 发表于 2015-2-20 15:03:46

我的意思是.net好用,从功能上来说比JAVA强还是很明显的。

因胸联盟 发表于 2015-3-6 18:35:45

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。

蒙在股里 发表于 2015-3-13 05:25:23

但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。

不帅 发表于 2015-3-20 14:06:14

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。
页: [1]
查看完整版本: ASP.NET网页编程之C# 制造Com组件:java挪用.net DLL的办法...