当前位置:编程学习 > C#/ASP.NET >>

asp.net 中传递、返回复杂类型的对象(1/3)

上面的服务传递的是简单数据类型,返回的也是简单数据类型。下面我们用javabean 、list、map、array等返回值或参数完成webservice。

1、首先看看javabean模式的参数和返回值的webservice,javabean代码如下:

 

代码

package com.hoo.entity;

import java.io.serializable;

/**
 * <b>function:</b>user entity
 * @author hoojo
 * @createdate dec 16, 2010 10:20:02 pm
 * @file user.java
 * @package com.hoo.entity
 * @project axiswebservice
 * @blog http://blog.csdn.net/ibm_hoojo
 * @email hoojo_@126.com
 * @version 1.0
 */
public class user implements serializable {
    private static final long serialversionuid = 677484458789332877l;
    private int id;
    private string name;
    private string email;
    private string address;
    //constractor
    //getter、setter

    @override
    public string tostring() {
        return this.id + "#" + this.name + "#" + this.email + "#" + this.address;
    }
}

 

没有上面特别就是一个普通的java对象,里面提供一些属性及getter、setter方法和tostring方法(在显示数据的时候有用),值得注意的是在远程调用的java对象都需要实现serializable接口,这样在网络中传递对象的时候就不会出现重复的javabean。用过或是了解ejb、rmi的朋友应该知道这点。序列化后的对象可以用io进行序列化写入到文件中,也可以反序列化解析到对象中的数据。

2、好,回正题。下面编写webservice的服务器端代码。

代码

package com.hoo.service;

import java.util.arraylist;
import java.util.date;
import java.util.hashmap;
import java.util.list;
import java.util.map;
import com.hoo.entity.user;

/**
 * <b>function:</b>axis webservice传递复杂类型数据
 * @author hoojo
 * @createdate dec 16, 2010 10:21:06 pm
 * @file manageruser.java
 * @package com.hoo.service
 * @project axiswebservice
 * @blog http://blog.csdn.net/ibm_hoojo
 * @email hoojo_@126.com
 * @version 1.0
 */
@suppresswarnings("deprecation")
public class manageruser {
   
    public user getuserbyname(string name) {
        user user = new user();
        user.setid(new date().getseconds());
        user.setname(name);
        user.setaddress("china");
        user.setemail(name + "@hoo.com");
        return user;
    }
   
    public void setuser(user user) {
        system.out.println(user);
    }
   
    public list<user> getusers(int i) {
        list<user> users = new arraylist<user>();
        for (int j = 0; j <= i; j++) {
            user user = new user();
            user.setid(new date().getseconds());
            user.setname("jack#" + j);
            user.setaddress("china");
            user.setemail("jack" + j + "@hoo.com");
            users.add(user);
        }
        return users;
    }
   
    public void setusermap(map<string, user> maps教程) {
        system.out.println(maps);
    }
   
    public user[] getuserarray(int i) {
        user[] users = new user[i];
        for (int j = 0; j < i; j++) {
            user user = new user();
            user.setid(new date().getseconds());
            user.setname("jack#" + j);
            user.setaddress("china");
            user.setemail("jack" + j + "@hoo.com");
            users[j] = user;
        }
        return users;
    }
   
    public void setuserarray(user[] users) {
        for (user u : users) {
            system.out.println(u);
        }
    }
   
    public map<string, user> getusermap() {
        map<string, user> users = new hashmap<string, user>();
        user user = new user();
        user.setid(new date().getseconds());
        user.setname("jack#");
        user.setaddress("china");
        user.setemail("jack@hoo.com");
        users.put("a", user);
       
        user = new user();
        user.setid(new date().getseconds());
        user.setname("tom");
        user.setaddress("china");
        user.setemail("tom@hoo.com");
        users.put("b", user);
        return users;
    }
   
    public void setusers(list<user> users) {
        for (user u : users) {
            system.out.println(u);
        }
    }
}

1 2 3
补充:asp.net教程,基础入门
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,