疯狂的IT人整理基于WebService的Hessian例子教程
来源:互联网 发布:java开发工程师要求 编辑:程序博客网 时间:2024/05/20 06:09
另附Hessian例子教程(包括服务器端和客户端代码)基于WebService的Hessian例子教程.rar
在进行基于Hessian的项目开发时,应当注意以下几点: ▲JAVA服务器端必须具备以下几点: ·包含Hessian的jar包 ·设计一个接口,用来给客户端调用 ·实现该接口的功能 ·配置web.xml,配好相应的servlet ·对象必须实现Serializable 接口 ·对于复杂对象可以使用Map的方法传递 ▲客户端必须具备以下几点: ·java客户端包含Hessian.jar的包。C#中引用hessianCSharp.dll ·具有和服务器端结构一样的接口。包括命名空间都最好一样 ·利用HessianProxyFactory调用远程接口。 简单JAVA客户端例子:
新建一个名EasyHession的webProject项目,将Hessian.jar放入web-inf下的lib中 创建接口: packageapp.demo; public interfaceBasicAPI { public void setGreeting(Stringgreeting); public String hello(); public User getUser(); } 实现接口: packageapp.demo; publicclass BasicService implements BasicAPI { privateString _greeting = "Hello, world"; public void setGreeting(String greeting) { _greeting = greeting; System.out.println("set greetingsuccess:"+_greeting); } public String hello() { return _greeting; } public User getUser() { return new User("prance", "meshow"); } } 创建一个实现Serializable的projo类也可以是Bean。 package app.demo; import java.io.Serializable; public class User implements Serializable{ String userName ="snoopy"; String password ="showme"; public User(Stringuser, String pwd) { this.userName =user; this.password= pwd; } public StringgetUserName() { returnuserName; } public StringgetPassword() { returnpassword; } } 接下来是配置web.xml <?xml version="1.0"encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param>
<param-name>service-class</param-name> <param-value>app.demo.BasicService</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app> 为了测试可以在编辑一个简单的test.jsp <%@ pageimport="com.caucho.hessian.client.HessianProxyFactory, app.demo.BasicAPI"%> <%@page language="java"%> <% HessianProxyFactory factory = newHessianProxyFactory(); String url = ("http://" +request.getServerName() + ":" +request.getServerPort() + request.getContextPath() + "/hello"); out.println(url); BasicAPI basic = (BasicAPI) factory.create(BasicAPI.class,url); out.println("Hello: " + basic.hello()); out.println("Hello: " + basic.getUser() .getUserName() ); out.println("Hello: " +basic.getUser().getPassword() ); %> 将一切配置成功后,将项目发布到web 服务器上去,可以是Tomcat,Rain等等。 进入 结果如下: Hello: Hello, world Hello: snoopy Hello: showme 说明服务器端已经编写成功。
创建一个名为HessianClient的JAVAProject,载入hessian.jar包 创建与服务器端一样的接口,及基础类 public interface BasicAPI{ public void setGreeting(Stringgreeting); public String hello(); public User getUser(); } import java.io.Serializable; public class User implements Serializable{ String userName ="snoopy"; String password ="showme"; public User(Stringuser, String pwd) { this.userName =user; this.password= pwd; } public StringgetUserName() { returnuserName; } public StringgetPassword() { returnpassword; } }
importcom.caucho.hessian.client.HessianProxyFactory; public class BasicClient { public static void main(String[] args) throwsException { String url ="http://127.0.0.1:8080/Hessian/hello"; HessianProxyFactoryfactory = new HessianProxyFactory(); BasicAPIbasic = (BasicAPI) factory.create(BasicAPI.class, url); System.out.println("Hello:" + basic.hello()); System.out.println("Hello:" + basic.getUser().getUserName()); System.out.println("Hello:" + basic.getUser().getPassword()); basic.setGreeting("HelloGreeting");
System.out.println("Hello:" + basic.hello()); } } 运行结果: Hello: Hello, world Hello: prance Hello: meshow Hello: Hello Greeting
在进行基于Hessian的项目开发时,应当注意以下几点:
新建一个名EasyHession的webProject项目,将Hessian.jar放入web-inf下的lib中
<param-name>service-class</param-name>
创建一个名为HessianClient的JAVAProject,载入hessian.jar包
importcom.caucho.hessian.client.HessianProxyFactory;
System.out.println("Hello:" + basic.hello());
- 疯狂的IT人整理基于WebService的Hessian例子教程
- 疯狂的IT人整理Memcached使用文档安装软件及例子
- 疯狂的IT人整理安装VSS插件到MyEclipse上面文档教程及插件
- 基于xFire的webService例子
- Hessian, 短小精悍的webService 解决方案
- Hessian, 短小精悍的webService 解决方案
- Hessian与Webservice的区别
- 基于hessian实现webService
- 由疯狂的IT人整理的5篇原创文章上线
- Hessian协议的使用例子
- 疯狂的IT人整理Apache、Tomcat集群和负载均衡
- 基于XFire的WebService入门级例子
- 基于Android的WebService开发例子
- 基于apache cxf的webservice小例子
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- Linux进程管理之进程的终止
- hadoop安装和一些问题积累
- C# WinForm获取当前拥有焦点的控件
- Linux命令行技巧
- location 定位
- 疯狂的IT人整理基于WebService的Hessian例子教程
- ORA-02449 的问题
- 实现提示框不抢焦点
- 常用设备与linux中的命名
- java 数组操作
- 关于新iPad充电的一些误读
- Android 多分辨率下的编程
- linux学习笔记3--tomcat服务器的配置
- 疯狂的IT人整理安装VSS插件到MyEclipse上面文档教程及插件