版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录目录1摘要2Abstract3第1章 引言4第2章 设计原则和相关技术52.1 设计原则52.2 Java Jdk概述52.3 Java文件类概述6第3章 系统客户服务端设计103.1服务器端程序103.2 客户端程序1133JAVA相关API设计11第4章 系统总体设计实现124.1 MysQL的安装和配置124.2 Java的安装和配置134.3 系统结构模型134.4访问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 ope
3、rating system 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 qui
4、ckly and 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和Java.Net.ServerJdk类来实现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=strHelo.getByteso;/向客户端发送消息“Helo!”out
8、.write(helo);由上 面 的 程序可见,监听程序在捕捉到客户端的连接请求后能得到向客户端的输出流(OutputStream类)和来源于客户端的输人流(InputStream类),调用输出流和输人流的相关方法,就能向客户端发送字节或者从客户端接收字节,这样就为学校选择导师管理系统提供了技术支持。2.3 Java文件类概述Java语言的文件操作功能十分强大,有丰富的类库来支持文件操作,主要有File类、FilelnputStream类、FileOutputStream类、FileSystemView类、RandomAccessFile类等。其中,File类用来管理磁盘文件和目录,File
9、InputStream和FileOutputStream类分别管理文件的输人和输出,FileSystemView类主要实现操作系统级别的文件操作。这些类使用方便,功能强大,但是只能执行本地文件操作。下面的代码显示了用File类和FileSystemView类判断一个驱动器是否为软盘驱动器的方法:FileSystemView fs=FileSystemView.getFileSystemViewo;File drive=new FileA:);if(fs.isFloppyDrive(drive)System.out.println(A盘是软盘驱动器。”);elseSystem.out.print
10、f 3 系统的设计系统由个部分组成:相关的一套API,供客户端程序使用;服务器端程序;客户端程序。3.1 相关API这套 API的核心类是FileSystem类和File类,而File类的实现又依赖于FileSystem类。(1)rg.rmfs.FileSystem此类对应SunJ DK中的javax.swing.filechooser.FileSystemView类,并且是它的子类;FileSystem类表示一个远程的文件系统,用在客户端程序中,通过它提供的静态方法get-FileSystem0可以得到FileSystem类的对象:pubilc classFileSystem extends
11、FileSystemViewprivate Jdk jdk; /与学校选择导师系统的Jdk连接private OutputStream out; /输出到学校选择导师系统的输出流private InputStream in; /来源于学校选择导师系统的输人流public statics ynchronizedF ileSystemget FileSystem(Stirngh ost,intp ort)/用指定的主机和端口号来取得与学校选择导师系统的连接socke=newS ocket(host,port);out=jdk.getOutputStreamo;in= jdk.getInputStr
12、eamo;/从一个文件输人流中读人字节int read( FilelnputSteramfis,in,byte,intof ,intle n) String cmd= READ+fis.getIDO+END;out .wr ite(cmd.getBytes);in.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); (
13、2) org.rmfs.File此类对应SunJDK中的Java.io.F ile类,用在客户端程序中,表示学校选择导师系统中的一个文件或者目录:pub lic c lass File implements java.io.Serializable,java.lang.Comparableprivate FileSystem fs;/表示此文件所在的学校选择导师系统privateS tringp ath; /表示此文件在文件系统中的路径刀得到此文件所在的文件系统public FileSystem getFileSystemo (return fs;构造方法:public File任ile衍st
14、em fs,String path)ifpath=nul”fs=nul) .山功wnew NulPointerExceptiono;(3) or g .nn fs.Fi leInputStream此类对应SunJDK中的java.io.FileInputStream类,用来从一个学校选择导师中读取数据pubilc classFileInputStreame xtendsja va.io.InputStream private FileSystem fs;/ V应的文件所在的学校选择导师系统对象private Filefile; /对 应的学校选择导师对象刀构造方法public FileInpu
15、tStream(Filefi le)thi s.fi le 二file;this .fs 二 file.getFileSystem。; 径)Java.io.FilcOutputStream此类对应SunJ DK中的Java.io.FileOutputStream类,向一个学校选择导师写数据:public class FileOutputStream extends java.io.0utputStre 与FileInputStream类似略构造方法:public FileOutputStream(File file)this.file二file;this.fs=file.getFileSyst
16、emo;/向输出流中写数据:public void write(byteob ,intof ,intlen)th rowsIO Exc-eptionfs.write(this,b,of,len); (5)org. rmf s.RandomAccessFile此类对应SunJDK中的java.io.RamdomAccessFile类,功能也与之相似。由于前面介绍的4个类已经能实现学校选择导师管理系统的功能,故不再详细介绍此类。第3章 系统客户服务端设计3.1服务器端程序服务器端程序向客户机提供学校选择导师访问服务,它实质上是一个在某个端口上进行监听的程序。FileSystem类有一个域jdk,实
17、际上就是与服务器端程序相连的Jdk对象。服务器端程序直接与FileSystem类进行通信和传递数据。当服务器端程序捕捉到一个连接请求时,就代表有一个客户端程序正在连接服务器,这时,服务器端程序就生成一个线程来处理和客户端的通信。3.2 客户端程序客户端程序使用上面介绍的5个类与学校选择导师系统进行通信,一个典型的操作流程是: 调用FileSystem getFileSystem(Stringhost, int port)方法得到远程文件系统的对象;调用File(FileSystem fs,String path)方法得到一个学校选择导师对象;然后就可以根据得到的文件对象执行相关操作,如可以删除
18、文件、可以向文件写数据(需要构造FileOutput-Stream类)、可以从文件中读取数据(需要构造FileInputStream类)等。客户端程序使用上面介绍的5个类,就可以完全屏蔽具体的Jdk操作来进行网络通信,大大降低了程序的复杂度,提高了程序的开发效率。33JAVA相关API设计设计了一套在形式上类似于Sun公司的标准本地文件处理类的API,并在这套API的基础上实现了一个Client/Server结构的学校选择导师管理系统。由于这套API在形式上与Sun公司的文件处理类有相似的接口,并且完全屏蔽了底层的Jdk操作,所以用户用这套API能方便、快速地实现符合自身要求的学校选择导师管理
19、系统。本文 作 者 创新点:设计了类似于Sun公司的标准本地文件处理类的API,并在这套API的基础上实现了一个Client/Server结构的学校选择导师管理系统,使用户能方便、快速地实现符合自身要求的学校选择导师管理系统。IApache+Java+MySQL的安装与配置3个软件的安装与配置环境如下:WlndowsNT.4O、APACHEI.3.llwin32、JAVA3.0.15Win32、MySQL一Win32322共享版),事先可直接到网站上下载预先编译过的3个免费软件的二进制文件。第4章 系统总体设计实现4.1 MysQL的安装和配置首先 下 载 MsyQL一win犯版本的压缩文件,
20、解压后,运行setuP、exe文件进行安装,缺省情况下,系统将安装在C:似ySQL目录下。然后在命令提示符下,进入MysQL的工作目录:C:卜cdmysql访in,把mysqld.sharew are.exe 更名为mysqld.exe,之后,运行mysql install,这样MysQL将做为一个服务进程安装在系统中。在“控制面板”的“服务”程序中,用户可根据自己的需要把Mysql服务设置为自动或手动启动。4.2 Java的安装和配置首先 下 载 JAVA3.0.巧Wi3n2的压缩文件,把软件解压到:C、Java3。在Java3目录中,把p卜p.ini一dist文件改成Java3.in1,并
21、把它移到、Wlnt目录下,然后对该文件做如下修改:改变,exten-510dir”为JAVA3的安装目录C:P冲3;设置“doc一root”指向WEB服务器的根目录wwroot;取消“extension=Java.dll行的注释,即删除打头的分号,便于在JAVA启动时加载这些模块,在特定情况下,如果你要用的DLL文件不在这个列表中,只需简单地加入一行,如:extension=mydil.dl1;设置指向APACHE的安装和配置首先下载APCHEI.3.1的压缩文件文件中加入几行APACHE与JAVA就可以一起工作了。最后,将 AAPCHE设置为系统的服务进程来运行。点击开始”按钮,选择程序”,
22、“APachewebserver,“InstallApache asaService。这样,你可以通过控制面板中的“服务”程序来管理A队CHE的启动和终止。到此为止 ,这3个软件己经安装和配置完毕,这3个软件就能够协同工作了,即A队CHE可以处理JAVA脚本文件,JAVA也能处理MysQL数据库了。4.3 系统结构模型系统采用标准B/S三层结构开发,三层结构分别为:用户界面(Ul)层、业务逻辑层和数据层用户界面(Ul)层用户界面(U)I层通过W匕b浏览器与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户。业务逻辑层业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果
23、发给Web浏览器。它由Web表单和组件服务组成。其中表单是向客户呈现数据和信息的基础,也是响应和处理客户信息和数据及显示Web表单交互生成的信息和数据的基础。数据层是通过JAVA的msyql扩展库或myqsh扩展库操纵数据为业务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。4.4访问MysQL数据库的原理441 JAVA连接MySQL数据库的方法(l) 通 过 myqsl库和myqsh库函数连接。这种方法是JAVA连接MySQL最常用的方法,无论从易用性和效率上都比用JDBC接口连接好。(2) 通过JDBC接口连接。开放式数据库互联(endatbasecounectiVity,J
24、DBC)是Microsoft引进的一种早期数据库接口技术。Microsoft引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。JAVA通过JDBC不仅可以连接MysQL数据库,而且还可以连接oracle、5沙ase、Informix和SQLserver等。4.4.2 JAVA连接MysQL数据库的方式无论是使 用myqsljmysilq库函数还是使用JDBC接口连接,JAVA对MysQL数据库的连接方式都有两种。分别是永久连接和非永久连接方式。()MySql永久连接方式:它的最大的优点是效率比非永久连接方式高,当客户端对MySQL服务器的连接请求非常频
25、繁时,永久连接将更加高效。它使得每个子过程在其生命周期中只做一次连接操作,而非每次在处理一个页面时都要向MysQL服务器提出连接请求。即每个子过程将对服务器建立各自独立的永久连接。(2) 非永久连接方式:即短连接方式。当客户端向Web服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。对于大部分网站通常都使用这种连接方式,它虽然没有永久连接方式的效率高,但是可有效避免永久连接所带来的问题和提高服务器承载能力。4.5 导师管理的总体设计作为一个 导师管理必须具备一些基本功能,如:用户系统、评测系统等。而每个系统之间都会有或多或少的联系,
26、它们之间的联系也正是构成网站交互的重要因素。整个系统按结构划分可分为前台应用程序和后台管理程序,按功能可以划分为:用户系统、评测系统、新闻发布系统、打分系统、投票系统、风格模板系统等几个部分。用户系统,主要是用于管理用户及用户权限。评测系统,主要是用于产品管理及评测管理,完成交易流程。新闻发布系统,实现对导师管理的新闻管理及新产品动态发布。打分系统,实现导师管理的网络宣传。投票系统,实现信息的反馈,能够与用户及时交流。风格模板系统,实现数据与用户界面(U1)层的分离,能够在不修改任何数据的情况下任意改变用户界面(Ul)层,简化网站更改版面的工作流程。是在签名操作后完成。如果在签名前执行加密操作
27、,就必须在验证签名后执行解密操作,这是因为如果先解密,未加密的签名会出现错误,这样就无法进行验证签名的操作。相反,如果在签名后执行加密操作,就必须在验证签名前解密文挡。本文根据JAVA应用对数据安全的需求,对JAVA加密规范和加密过程进行了探讨并做了一定的实现工作。针对电子政务中对电子公文保密的需求,实现了基于JAVA格式的电子公文的JAVA加密。JAVA在电子商务和电子政务等领域有广泛的应用,因此对基于JAVA的安全问题的研究很有意义。在满足使用的便利性、可靠性和稳健性方面,JAVA安全技术还有很多路要走。这些问题在不久的将来一定会解决,JAVA安全技术的应用一定有广阔的发展空间。4.6 用
28、户系统的具体设计与实现首先需要创建一个连接MysQL的操作类,在indude目录下创建一个名为dbesmysql.Java的文件,然后再创建一个My,SQL错误处理程序,在同目录下创建名为dbesmysql一ror. p冲的文件,如果出现错误,MySQL数据库错误处理程序会在temPdata目录下的dbero Ltog文件写入错误信息,并可把错误信息发送到管理员的邮箱中,这样可在程序操作数据库出错时方便管理员查出程序所出现的问题。用户系统的具体设计,用户系统可以说是整个导师管理最基础的部分,它负责对用户数据的处理,以及对用户权限的设定,用户系统是与其它系统紧密结合的一个基础系统。用户系统数据库
29、设计:数据库的规划与设计是一个系统成败的关键,只有良好的数据结构才能让整个系统可靠、健壮、可扩展。用户系统数据库可以通过sQL语句建立以下表:mebmers。members表主要是记录用户信息表是记录用户权限信息。用户系统设计实现:创建了数据库结构后,就开始实现用户系统。从中可看出用户主要面对的是前端应用程序,这里将围绕前端的用户系统展开,主要涉及用户注册,用户登录。用户注册和登录的主要原代码包括检查是否开启、显示消息、检查E一mail地址的合法性、检查登陆、检查用户名、检查密码以及Email等程序段,所有原代码在下测试通过。参考文献1马文.Java语言与面向对象程序设计M.北京:清华大学出版社,2007.279-282.2赵新慧,李文超等.利用Java实现远程控制J微计算机信息,20083
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品研发与技术转移制度
- 第2课《腊八粥》第一课时(教学设计)-【上好课】六年级语文下册部编版
- 2024年陕西客运技能鉴定题库
- 算法设计与分析 课件 4.7-分治法 - 典型应用 - 归并排序
- 2024年葫芦岛道路旅客运输考卷
- 2024年嘉峪关客运资格证考试题库下载
- 2024年玉林客运从业资格证考试网
- 2024年安徽客运资格证应用能力考试题答案
- 2024年上饶a1客运资格证
- 吉首大学《工程荷载与可靠度设计原理》2021-2022学年第一学期期末试卷
- 建设工程企业资质改革措施表2020
- DV-PV培训课件:设计验证和生产确认
- 坐骨神经痛及治疗课件
- 数控车床编程基本学习培训课件
- 福建省福州市长乐区2022-2023学年八年级上学期期中英语试题(含答案解析)
- 部编版语文教材全套目录小学到高中(2022年)
- 小学生血液知识讲座课件
- 小讲课-中心静脉压的测量及临床意义
- 急性心肌梗死病例
- 2022年西南交通大学辅导员招聘考试笔试试题及答案解析
- 2022年全国小学生天文知识竞赛考试题(含答案)
评论
0/150
提交评论