Hessian入门(传递集合,对象)
来源:互联网 发布:dede淘宝客api采集 编辑:程序博客网 时间:2024/06/05 07:47
原文:http://blog.csdn.net/chenweitang123/article/details/6334024
Hessian入门(集合,对象)
By:wtang
1. 主要是讲述使用Hessian传递集合以及对象.
2. 传递的对象必须序列化
3. 相比起Webservice,Hessian无需配置xml (XXX.aegis.xml) 实体Bean的xml文件
4. 简单 轻量 无需多余配置.
开发流程:
1.书写实体Bean[必须序列化]
[java] view plain copy
- package com.wtang.domain;
- import <a href="http://lib.csdn.net/base/javase" class='replace_word' title="Java SE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.io.Serializable;
- public class User implements Serializable {
- private static final long serialVersionUID = 21287917233879L;
- private String userName;
- private String 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;
- }
- }
2.定义接口
[java] view plain copy
- package com.wtang.isay;
- import java.util.List;
- import java.util.Map;
- import com.wtang.domain.User;
- public interface Isay {
- public String sayHello(List<User> list);
- public String sayHi(Map<String, User> map);
- }
3.接口具体实现
[java] view plain copy
- package com.wtang.isay;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import com.wtang.domain.User;
- public class IsayImpl implements Isay {
- public String sayHello(List<User> list) {
- StringBuffer sb = new StringBuffer();
- for (Iterator iterator = list.iterator(); iterator.hasNext();) {
- User user = (User) iterator.next();
- sb.append(user.getUserName());
- sb.append("==");
- sb.append(user.getPassword());
- sb.append("==");
- }
- return sb.toString();
- }
- public String sayHi(Map<String, User> map) {
- StringBuffer sb = new StringBuffer();
- for (String o : map.keySet()) {
- sb.append(map.get(o).getUserName());
- sb.append("==");
- sb.append(map.get(o).getPassword());
- sb.append("==");
- }
- return sb.toString();
- }
- }
4.配置Web.xml
[java] view plain copy
- <servlet>
- <servlet-name>hi</servlet-name>
- <servletclass>com.caucho.hessian.server.HessianServlet</servlet-class>
- <init-param>
- <param-name>service-class</param-name>
- <param-value>com.wtang.isay.IsayImpl</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>hi</servlet-name>
- <url-pattern>/hi</url-pattern>
- </servlet-mapping>
5.客户端调用
[java] view plain copy
- package com.wtang.test;
- import java<a href="http://lib.csdn.net/base/dotnet" class='replace_word' title=".NET知识库" target='_blank' style='color:#df3434; font-weight:bold;'>.NET</a>.MalformedURLException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import com.caucho.hessian.client.HessianProxyFactory;
- import com.wtang.domain.User;
- import com.wtang.isay.Isay;
- public class Test {
- public static void main(String[] args) throws MalformedURLException {
- String url = "http://localhost:8080/HessianCollection/hi";
- HessianProxyFactory factory = new HessianProxyFactory();
- Isay i = (Isay) factory.create(Isay.class, url);
- String result1, result2 = "";
- // List
- List<User> list = new ArrayList<User>();
- User user1 = new User();
- user1.setUserName("chenweitang");
- user1.setPassword("123");
- User user2 = new User();
- user2.setUserName("hello");
- user2.setPassword("world");
- list.add(user1);
- list.add(user2);
- result1 = i.sayHello(list);
- System.out.println("List结果:" + result1);
- // Map
- Map<String, User> map = new HashMap<String, User>();
- map.put(user1.getUserName(), user1);
- map.put(user2.getUserName(), user2);
- result2 = i.sayHi(map);
- System.out.println("Map结果:" + result2);
- }
- }
结果:
List结果:chenweitang==123==hello==world==
Map结果:hello==world==chenweitang==123==
阅读全文
0 0
- Hessian入门(传递集合,对象)
- Hessian入门(传递集合,对象)
- Hessian入门(传递集合,对象)
- Bundle传递集合对象
- Hessian入门
- Hessian入门
- Hessian 入门
- Hessian入门
- hessian 入门
- Hessian入门
- hessian入门
- Activity间传递对象集合
- Intent 传递对象和集合
- MVC传递数据-传递对象或对象集合
- Json传递对象集合 JSON.net使用
- Activity间跳转传递对象集合List
- Java6 WebServices传递集合对象终极解决方案
- android Intent传递对象和集合
- x264的交叉编译和移植
- ubuntu下重装分区问题
- Spring整合jdbcTemplate模板报错
- gc机制--垃圾检测、回收算法
- 第三周(2)——微信被动服务部分
- Hessian入门(传递集合,对象)
- jquery自动点击按钮
- 【史上最简单】头条项目中使用到的json解析
- 动态规划简单例子(数塔问题)java
- jvm调优总结(从基本概念 到 深度优化)
- spring-HelloWorld
- 完整iOS项目
- Rex::Commands
- SpringMVC 返回数据(持续更新)