Java遠程方法調用:Hessian
公司不同pool之間提供service都是通過hessian來開放接口的,個人覺得hessian的使用非常簡單。做個demo如下:
0.首先創建web工程,并加載hessian.jar。
1.創建service,即我們通過它來提供接口:
public interface BasicService {
public void setServiceName(String serverName);
public String getServiceName();
public User createUser();
}
2.創建service實現:
public class BasicServiceImpl implements BasicService {
private String serviceName;
@Override
public void setServiceName(String serverName) {
this.serviceName = serverName;
}
@Override
public String getServiceName() {
return this.serviceName;
}
@Override
public User createUser() {
return new User("zhangsan", "123456");
}
} 3.創建需要通過hessian傳遞的對象(必須序列化): public class User implements Serializable {
private static final long serialVersionUID = 5792818254468116836L;
private String username;
private String password;
public User(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
} 4.配置web.xml: <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>HessianServer</display-name>
<servlet>
<servlet-name>basic</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>service-class</param-name>
<param-value>com.loujinhe.service.impl.BasicServiceImpl</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>basic</servlet-name>
<url-pattern>/basic</url-pattern>
</servlet-mapping>
</web-app>
5.創建測試用例:
import java.net.MalformedURLException;
import org.junit.Before;
import org.junit.Test;
import com.caucho.hessian.client.HessianProxyFactory;
import com.loujinhe.service.BasicService;
public class BasicServiceTest {
private BasicService basicService;
@Before
public void init() throws MalformedURLException {
HessianProxyFactory factory = new HessianProxyFactory();
String url = "http://localhost:8080/HessianServer/basic";
basicService = (BasicService)factory.create(BasicService.class, url);
}
@Test
public void testBasic() {
basicService.setServiceName("BasicService");
System.out.println(basicService.getServiceName());
System.out.println(basicService.createUser().getUsername());
System.out.println(basicService.createUser().getPassword());
}
} 6.啟動服務器,運行測試用例,會得到如下結果:
BasicService
zhangsan
123456來自:http://blog.csdn.net/loujinhe/article/details/8479238
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!