hello.hessian.MyCar.java
package hessian.pojo; import java.io.Serializable; public class MyCar implements Serializable { private static final long serialVersionUID = 4736905401908455439L; private String carName; private String carModel; public String getCarName() { return carName; } public String getCarModel() { return carModel; } public void setCarName(String pCarName) { carName = pCarName; } public void setCarModel(String pCarModel) { carModel = pCarModel; } @Override public String toString() { return "my car name:[" + this.carName + "] model:[" + this.carModel + "]."; } }
hessian.service.HelloHessian.java
package hessian.service; import hessian.pojo.MyCar; import java.util.List; import java.util.Map; public interface HelloHessian { String sayHello(); MyCar getMyCar(); List myLoveFruit(); Map myBabays(); }
hessian.service.impl.HelloHessianImpl.java
package hessian.service.impl; import com.caucho.hessian.server.HessianServlet; import hessian.pojo.MyCar; import hessian.service.HelloHessian; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class HelloHessianImpl extends HessianServlet implements HelloHessian { public MyCar getMyCar() { MyCar car = new MyCar(); car.setCarName("阿斯顿·马丁"); car.setCarModel("One-77"); return car; } public Map myBabays() { Map map = new HashMap(); map.put("son", "孙吴空"); map.put("daughter", "孙小美"); return map; } public List myLoveFruit() { List list = new ArrayList(); list.add("apple"); list.add("kiwi"); list.add("orange"); return list; } public String sayHello() { return "welcom to Hessian"; } }
hessian.Main.java
package hessian; import com.caucho.hessian.client.HessianProxyFactory; import hessian.service.HelloHessian; public class Main { public static String url = "http://localhost:8888/InfoWeb/Hello"; public static void main(String[] args)throws Exception{ HessianProxyFactory factory = new HessianProxyFactory(); HelloHessian helloHession = (HelloHessian) factory.create(HelloHessian.class, url); System.out.println(helloHession.sayHello()); System.out.println(helloHession.getMyCar()); System.out.println(helloHession.myBabays()); System.out.println(helloHession.myLoveFruit()); } }
web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>home-class</param-name> <param-value>hession.service.impl.HelloHessianImpl</param-value> </init-param> <init-param> <param-name>home-api</param-name> <param-value>hession.service.HelloHessian</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/Hello</url-pattern> </servlet-mapping> </web-app>
pom.xml
<dependencies> <!--=========================== hession =========================== --> <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.33</version> </dependency> <!--=========================== Servlet Api ===========================--> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> </dependencies>