spring与hessian整合例
spring与hessian的简单应用实现例:
开发环境:window7 64,jdk8,tomcat8,spring4.2.5,hessian4.0
开发语言:java
hessianServer端代码:
package org.server.hessian.study.implDef; public interface Greet { public String sayHello(); public String sayHelloToUser(); }
package org.server.hessian.study.impl; import org.server.hessian.study.business.User; import org.server.hessian.study.implDef.Greet; public class Hello implements Greet { private User u; public User getU() { return u; } public void setU(User u) { this.u = u; } @Override public String sayHello() { return "Good morning"; } @Override public String sayHelloToUser() { return "Good morning " + u.getName(); } }
package org.server.hessian.study.business; import java.io.Serializable; import java.util.HashMap; import java.util.Map; public class User implements Serializable { private String name = "Dale"; public User() { } public User(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Map getInfo() { Map m = new HashMap<>(); m.put("name", this.name); return m; } }
hessianServer端web.xml配置:
contextConfigLocation classpath:appConf/spring-app-beans.xml class>org.springframework.web.context.ContextLoaderListener class>encodingFilter class>org.springframework.web.filter.CharacterEncodingFilter class>encoding UTF-8 encodingFilter *.do spring-mvc class>org.springframework.web.servlet.DispatcherServlet class>namespace /config/springMapping/**/ 1 spring-mvc *.do callHessianServer org.springframework.web.context.support.HttpRequestHandlerServlet callHessianServer /remoting
hessianServer端spring-app-beans.xml配置:
class="org.server.hessian.study.business.User"/> class="org.server.hessian.study.impl.Hello"> class="org.springframework.remoting.caucho.HessianServiceExporter"> value="org.server.hessian.study.implDef.Greet"/>
hessianClient端代码:
package org.client.hessian.study; import com.caucho.hessian.client.HessianProxyFactory; import org.server.hessian.study.implDef.Greet; import java.net.MalformedURLException; import java.util.HashMap; import java.util.Map; public class ClientTest { public static void main(String[] args) { String remoteUrl = "http://127.0.0.1:8080/hessianServer/remoting"; HessianProxyFactory factory = new HessianProxyFactory(); Greet server = null; Map m = new HashMap<>(); m.put("name","Tome"); try { server = (Greet) factory.create(Greet.class, remoteUrl); print(server); print(server.sayHelloToUser()); print(server.sayHello()); } catch (MalformedURLException e) { print(e); } } public static void print(Object s) { System.out.println(s); } }
使用使用tomcat启动server服务后,
执行client端。
以上内容为个人学习测试用例,
参考资料为:spring文档内容【27.3 Using Hessian or Burlap to remotely call services via HTTP】部分。