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++已经够复杂的。有人甚至还提出把这个东东引进标准,我觉得基本上不可能的。 碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。 主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 我的意思是.net好用,从功能上来说比JAVA强还是很明显的。 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。
页:
[1]