1、目录目录12Abstract3第1章 引言4第2章 设计原那么和相关技术52.1 设计原那么52.2 Java Jdk概述52.3 Java文件类概述6第3章 系统客户效劳端设计10效劳器端程序103.2 客户端程序1133JAVA相关API设计11第4章 系统总体设计实现124.1 MysQL的安装和配置124.2 Java的安装和配置134.3 系统结构模型13访问MysQL数据库的原理14441 JAVA连接MySQL数据库的方法144.4.2 JAVA连接MysQL数据库的方式144.5 导师管理的总体设计144.6 用户系统的具体设计与实现15参考文献16致谢17为了实现学校选择导师
2、管理系统的跨操作系统运行,设计了一套基于Java Jdk的学校选择导师类应用程序接口(API),并在此根底上实现了一个图形界面的Client/Server结构的学校选择导师管理系统。这套API在形式上类似于SunJDK本地文件类,开发人员使用这套API能方便快速地实现能满足自身需要的学校选择导师管理系统。关键词:Java;jdk;JDK;文件管理系统。关键词:应用程序;系统设计;数据库MySqlAbstractIn order to realize the school teacher management system of choose and design the operating s
3、ystem is running a school teacher Jdk Java choice of application program interface (API), and on the basis of realizing a graphic interface are/Server structure, selection of school teacher management system. This API SunJDK similar in form of local documents, developers use this API can quickly and
4、 easily realize can satisfy their needs of school teacher management system choice. Keywords: Java, JDK, JDK, File management system.key : applications, System design, The MySql databases.第1章 引言现有的学校选择导师管理系统主要有以下两种类型:基于FTP协议的系统;各操作系统自带的,只能在相同操作系统之间进行学校选择导师管理的系统。对于第1种系统,有安装、管理复杂等缺点,并且同一种效劳器端或客户端软件只能在
5、同一种操作系统上安装使用;而第2种系统只能在相同的操作系统中使用。Java语言是一种优秀的跨平台语言,用Java语言编写的程序编译之后产生的class文件能在不同的操作系统上运行。因此,设计了一套在形式上类似于Java本地文件类的学校选择导师管理API,并且在这套API的根底上实现了一个基于US结构的图形界面学校选择导师管理系统,这套系统的效劳器端和客户端都能在不同的操作系统上运行。基于这套API,各种类型的用户都能方便快速地实现出能满足自身需要的学校选择导师管理系统。第2章 设计原那么和相关技术2.1 设计原那么系统基于传统的Client/Server两层结构设计,设计原那么如下:客户端和效
6、劳器端都采用纯Java语言编写,以保证系统的跨平台应用性;客户端和效劳器端用Jdk进行底层通信;效劳器端程序作为监听程序在需要管理的文件系统所的主机中运行,监听来自客户端,也就是文件系统的管理者的管理操作命令。客户端和效劳器端用Jdk保持通信。2.2 Java Jdk概述流式Jdk所完成的通信是一种基于连接的通信,即在通信开始之前先由通信双方确认身份并建立一条专用的虚拟连接通道,然后它们通过这条通道传送数据信息进行通信,当通信结束时再将原先所建立的连接撤除。Java语言用Java.Net.Jdk和Jdk类来实现Jdk通信。下面的代码片断表示了一个建立效劳器端监听程序并与客户端进行简单通信的过程
7、:/在8001端口新建一个监听效劳ServerJdk listener=new ServerJdk(8000);/阻塞,直至捕捉到一个client端的请求Jdk client=listener.accepto;/得到向客户端的输出流OutputStream out=client.getOutputStreamo;/l得到来源于客户端的输入流InputStream in=client.getlnputStreamo;String strHelo =Hello!;Byte helo=;/向客户端发送消息“Helo!out.write(helo);由上 面 的 程序可见,监听程序在捕捉到客户端的连接
8、请求后能得到向客户端的输出流(OutputStream类)和来源于客户端的输人流(InputStream类),调用输出流和输人流的相关方法,就能向客户端发送字节或者从客户端接收字节,这样就为学校选择导师管理系统提供了技术支持。2.3 Java文件类概述Java语言的文件操作功能十分强大,有丰富的类库来支持文件操作,主要有File类、FilelnputStream类、FileOutputStream类、FileSystemView类、RandomAccessFile类等。其中,File类用来管理磁盘文件和目录,FileInputStream和FileOutputStream类分别管理文件的输人和
9、输出,FileSystemView类主要实现操作系统级别的文件操作。这些类使用方便,功能强大,但是只能执行本地文件操作。下面的代码显示了用File类和FileSystemView类判断一个驱动器是否为软盘驱动器的方法:ileSystemViewo;File drive=new FileA:);if(fs.isFloppyDrive(drive)System.out.println(A盘是软盘驱动器。);elseSystem. 3 系统的设计系统由个局部组成:相关的一套API,供客户端程序使用;效劳器端程序;客户端程序。3.1 相关API这套 API的核心类是FileSystem类和File类,
10、而File类的实现又依赖于FileSystem类。(1)r.FileSystem此类对应SunJ DK中的类,并且是它的子类;FileSystem类表示一个远程的文件系统,用在客户端程序中,通过它提供的静态方法get-FileSystem0可以得到FileSystem类的对象:pubilc classFileSystem extendsFileSystemViewprivate Jdk jdk; /与学校选择导师系统的Jdk连接private OutputStream out; /输出到学校选择导师系统的输出流private InputStream in; /来源于学校选择导师系统的输人流pu
11、blic statics ynchronizedF ileSystemget FileSystem(Stirngh ost,intp ort)/用指定的主机和端口号来取得与学校选择导师系统的连接socke=newS ocket(host,port);out=jdk.getOutputStreamo;in= jdk.getInputStreamo;/从一个文件输人流中读人字节int read( FilelnputSteramfis,in,byte,intof ,intle n) String cmd= READ+fis.getIDO+END;out .wr ite(cmd.getBytes);i
12、n.erad (b,ofle n);/向文件输出流输出字节Void write(FileOutputStreamf os,bytenb ,intof in tle n) String cmd= WRITE+fos.getIDQ+END;out .wr ite( cmd.getByteso);ou t.write(b,ofle n); 此类对应SunJDK中的Java.io.F ile类,用在客户端程序中,表示学校选择导师系统中的一个文件或者目录:pub lic c lass File implements java.io.Serializable,java.lang.Comparablepri
13、vate FileSystem fs;/表示此文件所在的学校选择导师系统privateS tringp ath; /表示此文件在文件系统中的路径刀得到此文件所在的文件系统public FileSystem getFileSystemo (return fs;构造方法:public File任ile衍stem fs,String path)ifpath=nulfs=nul) .山功wnew NulPointerExceptiono;(3) or g .nn fs.Fi leInputStream此类对应SunJDK中的tStream类,用来从一个学校选择导师中读取数据pubilc classFi
14、leInputStreame xtendsja va.io.InputStream private FileSystem fs;/ V应的文件所在的学校选择导师系统对象private Filefile; /对 应的学校选择导师对象刀构造方法public FileInputStream(Filefi le)thi s.fi le 二file;this .fs 二。; 径)Java.io.FilcOutputStream此类对应SunJ DK中的类,向一个学校选择导师写数据: 与FileInputStream类似略构造方法:public FileOutputStream(File file)二file;this.fs=file.getFileSystemo;/向输出流中写数据:public void write(byteob ,intof ,intlen)th rowsIO Exc-eptionfs.write(this,b,of,len); andomAccessFile此类对应SunJDK中的类,功能也与之相似。由于前面介绍的4个类已经能实现学校选择导师管理系统的功能,故不再详细介绍此类。第3章 系统客户效劳端设计3.1效劳器端程序效劳器端程序向客户机提供学校选择导师访问效劳,它实质上是一个在某个端口上进行监听的程序。F