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配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:appConf/spring-app-beans.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>namespace</param-name>
<param-value>/config/springMapping/**/</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>callHessianServer</servlet-name>
<servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>callHessianServer</servlet-name>
<url-pattern>/remoting</url-pattern>
</servlet-mapping>
hessianServer端spring-app-beans.xml配置:
<bean id="b_user" class="org.server.hessian.study.business.User"/> <bean id="hessianServer" class="org.server.hessian.study.impl.Hello"> <property name="u" ref="b_user"/> </bean> <bean name="callHessianServer" class="org.springframework.remoting.caucho.HessianServiceExporter"> <!-- service引用具体的实现实体Bean--> <property name="serviceInterface" value="org.server.hessian.study.implDef.Greet"/> <property name="service" ref="hessianServer"/> </bean>
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】部分。

浙公网安备 33010602011771号