public class User implements Serializable {private static final long serialVersionUID = 1L;private String name;private int age;public String getName() { return name;}public void setName(String name) { this.name = name;}public int getAge() { return age;}public void setAge(int age) { this.age = age;}@Overridepublic String toString() { return "User [name=" + name + ", age=" + age + "]";}}2.接口public interface UserService { public String getName();}3.接口的实现类public class UserServiceImpl extends HessianServlet implements UserService { private static final long serialVersionUID = 1L; String name="tom"; @Override public String getName() { return name; }}4.web.xml的配置<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/remoting-servlet.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>remoting</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>remoting</servlet-name> <url-pattern>/remoting/*</url-pattern> </servlet-mapping> <!--配置hessian服务 --> <servlet> <servlet-name>hessian</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>UserServiceImpl</param-name> <param-value>com.it.ssm.service.impl.UserServiceImpl</param-value> </init-param> <init-param> <param-name>UserService</param-name> <param-value>com.it.ssm.service.UserService</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>User</servlet-name> <url-pattern>/User</url-pattern> </web-app> 5.remoting-servlet.xml的配置<!-- 定义普通bean实例--> <bean id="user" class="com.it.ssm.service.impl.UserServiceImpl"/> <!-- 使用HessianServiceExporter 将普通bean导出成Hessian服务--> <bean name="/HessianRemoting" class="org.springframework.remoting.caucho.HessianServiceExporter"> <!-- 需要导出的目标bean--> <property name="service" ref="user"/> <!-- Hessian服务的接口--> <property name="serviceInterface" value="com.it.ssm.service.UserService"/> </bean>客户端代码1.客户端也必须有与服务端相同的实体类,包名必须相同。2、接口public interface UserService { public String getName();}3、测试类public static void main(String[] args) throws MalformedURLException, ClassNotFoundException { String url = "http://localhost:8080/hessian-server/user"; HessianProxyFactory factory = new HessianProxyFactory(); UserService us= (UserService)factory.create(UserService.class, url); String name = us.getName(); System.out.println(name);}Hessian官网:点击打开链接
新闻热点
疑难解答