动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息



本月文章推荐
.全面保护你的Java程序安全.
.设计 FileSystemObject.
.JAVA入门教程:第一章.
..Net中掌握Windows窗体间数据交互.
.值得思考的 J2EE 架构的6个最佳实.
.初学者入门经典:Java环境配置大.
.MC4J远程监测Tomcat集群-JMX助To.
.EJB技术的数据库应用(1).
.用Java实现的一个控制关机的程序.
.对等计算实践之:构建 P2P 应用程.
.搭建Java桌面应用程序原型(三).
.Tomcat 中通过 JNDI 配置访问数据.
.如何使用Java编写NT服务(二).
.在RMS中存储和读取数据.
.初评hibernate.
.好的JAVA风格.
.如何将Java应用程序本地编译为EXE.
.J2EE WEB应用架构分析(1).
.JavaBean 实例.
.探讨Java与Ruby语言迁移时的安全.

C#使用Hessian调用JAVA的函数

发表日期:2008-1-5 |



  Hessian其实很像web service,只不过它的协议不是SOAP,而是它自己规定的binary协议。Hessian的server端提供一个servlet基类,client端获得一
  
  个service接口(也就是stub)之后调用上面的方法,stub将方法调用marshal之后通过HTTP传到server,server借助reflection调用service方法。
  
  实战开始,先到www.caUCho.com上去下载一个Resin,在宝宝的网上也有(itbaby.jss.cn)
  
  然后在itbaby.jss.cn上下载一个HessianCSharp的DLL文件,供C#使用
  
  1.开始,在Resin解压后,我在WEB-INF中建立一个目录itbaby,然后按Resin的帮助在itbaby目录下写了两个类
  

  PlusAPI和PlusService
  
  PlusAPI的CODE如下:
  
  package itbaby;
  public interface PlusAPI
  {
  public String Plus2Str(int A,int B);
  }
  
  PlusService的CODE如下:
  
  package itbaby;
  public class PlusService implements PlusAPI
  {
  public String Plus2Str(int A,int B)
  {
  int iSum = A + B;
  String sSum = Integer.toString(iSum);
  return sSum;
  }
  }
  
  2.在WEB-INF目录下建了个web.XML文件(注重原来的Resin带的我都删除了)
  

  内容如下:
  <web-app xmlns="http://caucho.com/ns/resin">
  <servlet servlet-name="plus" servlet-class="com.caucho.hessian.server.HessianServlet">
  <init-param service-class="itbaby.PlusService"/>
  <init-param api-class="itbaby.PlusAPI"/>
  </servlet>
  <servlet-mapping url-pattern="/itbabywebsvc/plus" servlet-name="plus"/>
  </web-app>
  
  3.写一个jsp的测试文件(test.jsp),看看两个类是否运行正常
  

  <%@ page import="com.caucho.hessian.client.HessianProxyFactory" %>
  <%@ page import="itbaby.PlusAPI" %>
  <%
  HessianProxyFactory factory = new HessianProxyFactory();
  
  // http://localhost:8080/itbabywebsvc/plus
  String url = ("http://" +
  request.getServerName() + ":" + request.getServerPort() +
  request.getContextPath() + "/itbabywebsvc/plus");
  
  PlusAPI plus = (PlusAPI) factory.create(PlusAPI.class, url);
  
  out.println("100 + 50 = " + plus.Plus2Str(100,50)+"<br>");
  out.println("150 + 200 = " + plus.Plus2Str(150,200)+"<br>");
  %>
  
  运行结果输出:
  
  100 + 50 = 150
  150 + 200 = 350
  表示两个类运行正常
  
  4.开始写C#的客户端调用,启动VS.Net2003,新建一个Windows应用程序,当然你也可以使用Asp.Net,在默认的Form1上添加一个Button1的按钮.
  

  然后添加一个引用HessianCSharp.DLL,(就是让你下载的那个DLL)
  
  5.添加一个类文件,命名为:PlusAPI.cs,CODE如下:

  using System;
  namespace HsnTest
  {
  public interface PlusAPI
  {
  string Plus2Str(int A,int B);
  }
  }
  
  在Button1的Click中添加如下CODE:
  private void button1_Click(object sender, System.EventArgs e)
  {
  CHessianProxyFactory factory = new CHessianProxyFactory();
  string url="http://localhost:8080/itbabywebsvc/plus";
  PlusAPI test = (PlusAPI)factory.Create(typeof(PlusAPI), url);
  string sValue = "5 + 10 =" + test.Plus2Str(5,10);
  MessageBox.Show(sValue );
  
  }
  
  别忘了应用命名空间
  using hessiancsharp.client;
  
  总结:我们可以考虑这样来使用Java的方法,Hessian还有 For PHP,Python,C++的类库,有爱好的朋友可以在Caucho.com上多看看,多一句话,宝宝的网站就是用Resin,我使用Resin好多年了,小巧实用,大型的项目我也使用过,非常稳定
上一篇:如何在代码中自动实现设计规范(组图) 人气:457
下一篇:Java 理论与实践: 再谈Urban性能传言 人气:261
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵