问题描述:
Unix系统的用户信息通常都放置在/etc/passwd文件中,每个用户的信息占用一行,文件格式如下:
username:password:uid: gid:gcos-field:home-dir:login-shell每个用户都会属于不同的组,组信息通常放置在/etc/group文件中,每个组信息占用一行,文件格式如下:
groupname:password: gid:user-list一个用户可以属于不同的组,一个组也可以包含多个用户。用户信息中的password和gcos-field信息,组信息中的password信息在我们的系统中被忽略。
要求:
现在要建立一个用户管理系统,将所有的类型都放置在tarena.com.usermgmt包下:1. 尽量采用JavaBean的方式建立类型User和Group,类型除了包含以上提供的信息外,还要反映出两个类型之间的关系,同时这两个类型的对象能在网络上传输。2. 创建类型DataBuilder,通过解析字符串(文件/etc/passwd和/etc/group中的串)创建User和Group对象,DataBuilder类图为。DataBuilder
+parseUser(line : String) : User
+parseGroup(line : String): Group
3. 创建类型FileAnalyzer, 读取文件/etc/passwd和/etc/group的内容,使用DataBuilder,将文件内容完全反映到内存中。4 . 编写一个Socket的客户程序UserClient,将3中产生的用户和组对象传递到服务器上。5 . 编写一个Socket 的多线程服务程序UserServer,接收UserClient发送的对象,并在内存中形成所有服务器上的用户和组的内存映像。
Unix系统的用户信息通常都放置在/etc/passwd文件中,每个用户的信息占用一行,文件格式如下:
username:password:uid: gid:gcos-field:home-dir:login-shell每个用户都会属于不同的组,组信息通常放置在/etc/group文件中,每个组信息占用一行,文件格式如下:
groupname:password: gid:user-list一个用户可以属于不同的组,一个组也可以包含多个用户。用户信息中的password和gcos-field信息,组信息中的password信息在我们的系统中被忽略。
要求:
现在要建立一个用户管理系统,将所有的类型都放置在tarena.com.usermgmt包下:1. 尽量采用JavaBean的方式建立类型User和Group,类型除了包含以上提供的信息外,还要反映出两个类型之间的关系,同时这两个类型的对象能在网络上传输。2. 创建类型DataBuilder,通过解析字符串(文件/etc/passwd和/etc/group中的串)创建User和Group对象,DataBuilder类图为。DataBuilder
+parseUser(line : String) : User
+parseGroup(line : String): Group
3. 创建类型FileAnalyzer, 读取文件/etc/passwd和/etc/group的内容,使用DataBuilder,将文件内容完全反映到内存中。4 . 编写一个Socket的客户程序UserClient,将3中产生的用户和组对象传递到服务器上。5 . 编写一个Socket 的多线程服务程序UserServer,接收UserClient发送的对象,并在内存中形成所有服务器上的用户和组的内存映像。
解决方案 »
- JAVA源码怎样学习
- 比较难
- 如何把swing项目打包成安装程序exe
- JMF做播放器遇到的延迟问题
- 怎么把整型值转换成字符串型?
- 请教,如何判断一个程序是否在运行,然后根据需要kill掉?
- 大家好问个java远程与数据库联接的问题?
- 数据库连接问题:开始tomcat连接数据orcal数据库正常,但是安装SQL Server2000后,tomcat就连不上数据库了。
- 求助javabean3.15中文版在哪有下的?IntelliJ IDEA谁有解码的?
- 请问怎样为jdbc安装oracle数据库的驱动?
- 关于 几个 日期 和 字符串 操作的问题 ????/
- 有关 DataInputStream 和 DataOutputStream 的 问题 ,报出 EOFException 异常
{
String username;
String uid;
String gid;
String home_dir;
String login_shell;
public String getGid()
{
return gid;
}
public void setGid(String gid)
{
this.gid = gid;
}
public String getHome_dir()
{
return home_dir;
}
public void setHome_dir(String home_dir)
{
this.home_dir = home_dir;
}
public String getLogin_shell()
{
return login_shell;
}
public void setLogin_shell(String login_shell)
{
this.login_shell = login_shell;
}
public String getUid()
{
return uid;
}
public void setUid(String uid)
{
this.uid = uid;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
}
import java.util.List;public class Group
{
String groupname;
String gid;
List<User> user_list = new ArrayList<User>();
public String getGid()
{
return gid;
}
public void setGid(String gid)
{
this.gid = gid;
}
public String getGroupname()
{
return groupname;
}
public void setGroupname(String groupname)
{
this.groupname = groupname;
}
public List<User> getUser_list()
{
return user_list;
}
public void setUser_list(List<User> user_list)
{
this.user_list = user_list;
}
}
关注中...