ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:19.94KB ,
资源ID:7708143      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7708143.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(练习java基础的SMS 项目Word格式.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

练习java基础的SMS 项目Word格式.docx

1、enrollDatejava.sql.Date管理员的注册日期2. 在Admin类中添加如下几个公开方法: 一个无参的构造方法 所有成员的set和get方法 提供toString方法任务二 完成管理员管理模块相关接口的封装,为在后续课程中完成这个模块做好基础工作。完成本系统管理员管理模块中相关接口的封装。接口的定义1. 封装AdminManagementBIZ接口,此接口用于封装管理员管理模块的业务逻辑,此接口中包括如下几个方法: Collection getAllAdmin() void addAdmin(Admin admin) Admin getAdminById(Long adminI

2、d) void modifyAdmin(Admin admin) void removeAdmin(Long adminId)2. 封装AdminDAO接口,此接口用于封装对管理员执行的各种操作,此接口中包括如下几个方法: Collection selectAllAdmin() void insertAdmin(Admin admin) void updateAdmin(Admin admin) void deleteAdmin(Long adminId) Admin selectAdminById(Long adminId) Admin selectAdminByLoginName(Stri

3、ng loginName)任务三 完成管理员管理模块所需异常的封装,为在后续课程中继续完成这个模块做好基础工作。完成本系统管理员管理模块中相关异常的封装。异常的定义和使用按照如下要求完成InfrastructureException.java文件:1. 封装Infrastructure Exception异常类,代表对各种数据进行操作时发生的异常,程序对于这种异常是不能恢复的,如网络异常,数据库连接异常。按照如下要求完成RepeatIdException.java文件:2. 封装RepeatIdException异常类,代表唯一标识重复异常,程序对于这种异常是可以恢复的。按照如下要求完成Rep

4、eatLoginNameException.java文件:3. 封装RepeatLoginNameException异常类,代表登陆名重复异常,程序对于这种异常是可以恢复的。按照如下要求完成ObjectNotFoundException.java文件:4. 封装ObjectNotFoundException异常类,代表查找的对象找不到异常,程序对于这种异常是可以恢复的。按照如下要求完成RemoveSuperAdminException.java文件:5. 封装RemoveSuperAdminException异常类,代表删除超级管理员异常,程序对于这种异常是可以恢复的。6. 修改 任务二 中完

5、成的AdminManagementBIZ,为接口中定义的方法添加异常,每个方法抛的异常如下: addAdmin方法抛出RepeatIdException,RepeatLoginNameException异常 getAdminById方法抛出ObjectNotFoundException异常 removeAdmin方法抛出RemoveSuperAdminException异常任务四 掌握对文件的操作,并使用文件来存储数据完成管理员管理模块使用文件作为数据的存储方式,使用文本作为和用户交互的界面,完成管理员管理模块。2 所用知识点 对文件的操作修改任务一 中完成的Admin.java文件:1. 修

6、改代码,使得Admin实现java.io.Serializable接口.修改任务二 中完成的AdminDAO.java文件:2. 修改AdminDAO接口中定义的所有方法的签名,为所有的方法添加InfrastructureException异常.按照如下要求完成FileAdminDAOImpl.java文件,将Admin对象用对象序列化的方式存入一个文件3. 封装FileAdminDAOImpl类,这个类实现了任务二 中完成的AdminDAO接口4. 在该类中添加一个构造方法方法签名:public FileAdminDAOImpl()throws InfrastructureException

7、方法描述:该方法首先要构造超级管理员对象,并将其存入指定的文件中,超级管理员信息如下:值kettas62790000kettasnull注意:id和loginName的值不能有重复的。5. 实现接口中的所有方法,注意实现这些方法时不要掺杂任何业务逻辑相关的代码,不要掺杂任何与交互有关的代码,这些方法只用于单纯地操作文件中的数据,当操作文件出现任何异常时都将这个异常转化为InfrastructureException异常抛出。修改任务二 中完成的AdminManagementBIZ.java文件:6. 修改AdminManagementBIZ接口中定义的所有方法的签名,为所有的方法添加Infra

8、structureException异常.任务五 分层来实现管理员管理模块在本任务中我们要将管理员管理模块按照三层结构来实现。DAO层负责对数据操作进行封装,BIZ层负责对业务逻辑进行封装,View层负责与用户进行交互,并使用接口来衔接各层。软件分层根据 任务二 中完成的AdminDAO和AdminManagementBIZ接口,提供这些接口的实现,完成DAO层和BIZ层的代码,然后再完成View层的代码,并提供测试代码。(在这个任务中还会使用到之前封装的Admin和异常类)具体的操作步骤如下:按照如下要求完成OrdinaryAdminManagementBIZImpl.java文件:1. 封

9、装OrdinaryAdminManagementBIZImpl类,这个类实现了任务二 中完成的AdminManagementBIZ接口2. 在OrdinaryAdminManagementBIZImpl类,在该类中添加1个私有的成员adminDAOAdminDAO用于保存AdminDAO的引用3. 在该类中添加一个构造方法public OrdinaryAdminManagementBIZImpl (AdminDAO adminDAO)为adminDAO这个成员变量赋值。4. 实现接口中的所有方法,注意实现这些方法时不要掺杂任何与交互有关的代码,这些方法用于封装业务逻辑,如需要操作数据就调用ad

10、minDAO中的相关方法来完成。按照如下要求完成TextAdminView.java文件:5. 封装TextAdminView类,在该类中添加1个私有的成员adminBIZAdminManagementBIZ用于保存AdminManagementBIZ的引用6. 在该类中添加一个构造方法public TextAdminView (AdminManagementBIZ adminBIZ)为adminBIZ这个成员变量赋值。7. 实现如下方法,完成管理员管理模块各个功能的交互代码: public void getAllAdmin() public void addAdmin() public vo

11、id getAdminById() public void modifyAdmin() public void removeAdmin()添加以下提供的方法。 public void listComand() System.out.println(= 管理员管理系统命令列表 =);| 1 - 显示所有的管理员 | 2 - 添加管理员 | 3 - 根据admin唯一标识查询管理员并显示 | 4 - 根据admin唯一标识修改管理员信息 | 5 - 根据admin唯一标识删除管理员 | 6 - 退出系统 | 7 - 显示命令列表 |= public void mainView() listComa

12、nd(); l1:while(true) System.out.print(请输入你要执行的命令对应的数字 int c = SystemIn.readInt(); switch(c) case 1 : getAllAdmin();break; case 2 : addAdmin(); case 3 : getAdminById(); case 4 : modifyAdmin(); case 5 : removeAdmin(); case 6 : break l1; case 7 :按照如下要求完成AdminTest.java文件:8. 封装AdminTest类,在该类中添加主方法,代码如下:p

13、ublic class AdminTest public static void main(String arg) AdminDao adminDAO=null; try adminDAO = new FileAdminDAOImpl(); catch (InfrastructureException e) 系统异常 +e.getMessage(); AdminManagementBIZ adminBIZ = new OrdinaryAdminManagementBIZ Impl(adminDAO); TextAdminView adminView = new TextAdminView(ad

14、minBIZ); adminView.mainView();9. 运行AdminTest,测试管理员管理模块的所有功能。任务六 掌握使用Socket编写客户机/服务器方式的应用程序,并完成管理员管理模块的网络版采用Socket完成管理员管理模块的网络版,其中客户端完成与用户的交互,服务器端完成业务逻辑和对数据的操作。Socket编程1. 封装Command,这个类实现了java.io.Serializable接口。在之前写单机版程序时,各层之间通过方法调用衔接在一起;现在要使用Socket开发网络程序,客户端和服务器端的交互就不能再使用方法调用了,而要改为发送消息。在java中这些消息就可以封

15、装为对象来发送,在此作业中要求学员封装Command类,这个类就是用来封装消息的,包括客户端给服务器端发送的请求消息和服务器端执行后的结果消息。这个类是一个抽象类,并且在客户端和服务器端都要使用。 这个类包含两个私有的成员,如下:isSuccessfulboolean服务器端处理是否成功ReasonString服务器端处理失败的原因 提供私有成员的set和get方法 这个类包含一个公开的抽象的方法:public abstract void execute(AdminManagementBIZ adminBIZ);这个方法是一个抽象方法,会由Command的子类去实现,这个方法由服务器端调用业务

16、类中的方法来完成业务逻辑。2. 封装Command的子类:GetAllAdminCommand:此类继承了Command,用于对查询所有管理员这个请求进行封装和对处理结果进行封装。 在这个类中添加一个私有的成员,如下:AdminsCollection保存服务器端查询出来的所有管理员 在这个类中实现父类中定义的抽象方法execute,用于完成业务逻辑。AddAdminCommand:此类继承了Command,用于对添加管理员这个请求的封装和对处理结果的封装。Admin保存客户端要添加的管理员GetAdminByIdCommand:此类继承了Command,用于对根据唯一标识查询管理员这个请求的封

17、装和对处理结果的封装。admin有两个作用:1.用于保存客户端要查询的管理员的唯一标识。2.用于保存服务器端查询出的管理员ModifyAdminCommand:此类继承了Command,用于对修改管理员这个请求的封装和对处理结果的封装。用于保存客户端要修改的管理员信息RemoveAdminCommand:此类继承了Command,用于删除管理员这个请求的封装和对处理结果的封装。adminIdLong用于保存客户端要删除的管理员的唯一标识ExitCommand:此类继承了Command,用于对客户端向服务器端发送的退出请求进行封装。3. 封装SocketClient,完成具体Command对象的

18、封装和发送,在客户端的所有Socket代码都封装在此类中。 这个类包含三个私有的成员,如下:S.Socket保存与服务器端交互的Socket的引用Oosjava.io.ObjectOutputStream保存Socket中用于发送Command对象的对象输出流Oisjava.io.ObjectInputStream保存Socket中用于接收Command对象的对象输入流 提供如下构造方法:public SocketClient(String serverIp, int port)throws Exception 在该方法中初始化成员变量s , oos和ois。 提供close方法:public

19、 void close() 该方法用于关闭s,oos和ois。 提供exit方法:public void exit()throws Exception 该方法用于构造一个ExitCommand对象,并将这个对象发送到服务器端。 提供getAllAdmin方法:public Collection getAllAdmin()throws Exception该方法用于将获取所有管理员的请求封装到GetAllAdminCommand对象中,并把这个对象发送到服务器端,然后接收服务器端返回的结果对象。 返回值: 从服务器端获取的结果对象中取出isSuccessful的值,如果为真,说明服务器端执行成功,

20、获取结果对象(GetAllAdminCommand类型的对象)中的admins的值作为此方法的返回值;否则,说明服务器端执行时出现异常,在此方法中使用结果对象的reason的值来构造Exception对象,并抛出构造好的Exception。 提供addAdmin方法:public void addAdmin(Admin admin)throws Exception该方法用于将添加管理员的请求封装到AddAdminCommand对象中,并把这个对象发送到服务器端,然后接收服务器端返回的结果对象。从服务器端获取的结果对象中取出isSuccessful的值,如果不为真,说明服务器端执行时出现异常,在

21、此方法中使用结果对象的reason的值来构造Exception对象,并抛出构造好的Exception。 提供getAdminById方法:public Admin getAdminById(Long adminId)throws Exception该方法用于将根据唯一标识查询管理员的请求封装到GetAdminByIdCommand对象中,并把这个对象发送到服务器端,然后接收服务器端返回的结果对象。从服务器端获取的结果对象中取出isSuccessful的值,如果为真,说明服务器端执行成功,获取结果对象(GetAdminByIdCommand类型的对象)中的admin的值作为此方法的返回值; 提供

22、modifyAdmin方法:public void modifyAdmin(Admin admin)throws Exception该方法用于将修改管理员的请求封装到ModifyAdminCommand对象中,并把这个对象发送到服务器端,然后接收服务器端返回的结果对象。 提供removeAdmin方法:public void removeAdmin(Long adminId)throws Exception该方法用于将删除管理员的请求封装到RemoveAdminCommand对象中,并把这个对象发送到服务器端,然后接收服务器端返回的结果对象。4. 修改TextAdminView.java 删除

23、成员变量adminBIZ,增加成员变量client:clientSocketClient用于保存SocketClient的引用 删除构造方法TextAdminView(SocketClient client),增加构造方法public TextAdminView(SocketClient client),在这个方法中初始化成员变量client。 修改其他方法,将对AdminManagementBIZ的调用转换为对SocketClient中方法的调用。 增加exit方法public void exit() 方法描述: 客户端退出。 修改mainView方法,修改后的代码入下: while(true) char c = MyReader.readChar(); case 1 :23456 exit();break l1;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2