学生公寓管理系统第一章系统分析 开发工具简介及系统运行环境 开发的必要性 系统开发的可行性 数据来源 新系统数据流程图 9第二章 数据库设计 12第三章功能模块设计 新系统功能结构图及运行图如下: 系统设置: 公寓管理 卫生检查 公寓资产 记录查看与记录删除 值班记录 帮助制作 21第四章 程序设计 22主程序流程图 登录界面 程序主界面 系统设置 公寓管理 卫生检查 公寓资产 记录查看 记录删除 值班记录 Help制作 49第五章 系统测试 50总结 51参考文献 52引言随着电脑的普及与应用,现在的管理也需要提升一个档次。即从原来的手工记录管理模式转变为电脑一体化管理。这样会给公寓的管理人员带来很多好处,让他们管理的效率更高、效果更好,管理起来更方便。由此而产生了本管理软件――学生公寓管理软件。学生公寓管理软件是用Microsoft Visual Basic 编写完成。由于Visual Basic率先采用了可视化(VISUAL)的程序设计方法。所以利用系统提供的大量可视化控件,可以方便的以可视化方式直接绘制用户图形界面,并可直观,动态的调整界面的风格和样式,直到满意为止,从而克服了以前必须用大量代码去描述界面元素的外观和位置的传统编程模式。做起来方便,使用起来更为快捷。作为一个学生公寓的管理软件,要十分全面的贴近以及适合大学公寓的管理方法。本软件的参考资料主要有两种来源:一是参考本学校公寓的管理结构,管理方法。如各个公寓的分布特色,以及公寓的各种管理制度。这些资料是本软件的主要依据,也可以说这些资料来源于普通的生活,比较真实一些。二是来源于网络上的各种同类软件,通过这些软件可以看出一个公寓最低需要哪些管理与设置,在这些软件中,有些软件功能比较齐全,但是在管理上显的非常的不方便,使用起来十分麻烦、繁琐,有些虽然简单,但是功能上又不是十分完善,对这些软件首先要进行取其精华,弃其糟粕,从而进行编写。本软件主要包括以下方面:系统设置、公寓管理、卫生检查、公寓资产、记录查看、记录删除、值班记录、帮助制作。学生公寓管理软件目前版本为,为一个测试版本。它目前在功能上,以及操作的简便上有很大的改进。但是还是存在一些不足,在有些功能的实现上还不是十分的理想,这也是本人在时间和精力上留下的遗憾。但是相信这些会在以后的版本中得到完善,使这个软件成为一个功能上最全,使用上最简捷方便的管理软件。 ... ... ... ...... ... ... ...【论文说明】该论文包含数据流程图、数据字典、E—R图、系统功能结构图、程序流程图、运行界面图、程序源代码和程序设计,论文是Word格式,52页,字数万,适用于计算机科学与技术、计算机信息管理和计算机网络等专业!
就是以数据诸如文字,声音,图像等为主要内容,以检索文献资料的内容而不是外表特征的一种检索技术·主要该系统有TRS系统·天宇系统·等与其他搜索引擎相比,全文搜索引擎的显著特点是它能够以文中任何一个有检索意义的词作为检索入口,而且取得的检索结果是原始文献,而不是文献线索随着计算机产业的发展,以计算机存储设备为载体的电子信息愈来愈多,这些信息大致可分为两类:结构化数据和非结构化数据,结构化数据指的是诸如企业财务帐目和生产数据、学生的分数数据等等,非结构化数据的则是一些文本数据、图象声音等多媒体数据等等。据统计,非结构化数据占有整个信息量的80%以上。对于结构化数据,用RDBMS(关系数据库管理系统)技术来管理是目前最好的一种方式。但是由于RDBMS自身底层结构的缘故使得它管理大量非结构化数据显得有些先天不足,特别是查询这些海量非结构化数据的速度较慢。而通过全文检索技术就能高效地管理这些非结构化数据。经过几年的发展,全文检索从最初的字符串匹配程序已经演进到能对超大文本、语音、图像、活动影像等非结构化数据进行综合管理的大型软件。由于内涵和外延的深刻变化,全文检索系统已成为新一代管理信息系统的代名词,衡量全文检索系统的基本指标也逐渐形成规范。首先,我们关注的是查全率,即系统在进行某一检索时,检索出的相关资料量与系统资料库中相关资料总量的比率。查准率则是保证我们找到最有用资料的一个关键,是系统在进行某一检索时,检索出的有用资料数量与检索出资料总量的比率。检索速度或者说响应时间是提高工作效率的保障,指的是从提交检索课题到查出资料结果所需的时间。最基本的检索速度是应该达“千万汉字,秒级响应"。还有诸如收录范围(所查找的范围)、用户负担(用户在检索过程中付出精力的总和)、输出形式 (输出信息表现形式)等指标也是衡量全文检索系统优劣的要素。搜索引擎应该是全文检索技术最主要的一个应用。目前,搜索引擎的使用已成为排在收发电子邮件之后的第二大互联网应用技术。搜索引擎起源于传统的信息全文检索理论,即计算机程序通过扫描每一篇文章中的每一个词,建立以词为单位的到排文件,检索程序根据检索词在每一篇文章中出现的频率和每一个检索词在一篇文章中出现的概率,对包含这些检索词的文章进行排序,最后输出排序的结果。全文检索技术是搜索引擎的核心支撑技术。一个好的检索引擎是一个理想站点的关键。很多人在访问一个站点时喜欢使用站点检索,站点检索应是分类目录导航和全文检索的完美结合,具体包括以下几个方面:分类目录导航的关键是检索范围,检索范围的限制能使得检索结果不会太多、太滥;全文检索对于站点检索是必不可少的,在通常情况下能够帮助人们很快地找到所要的网页;有时利用分类目录导航和全文检索还很难定位到所要的信息,这时就要组合检索辅助;必须有相关排序功能,因为当检索结果太多时,用户不可能一一浏览,大多数用户只浏览前面几条,没有相关排序,可能准确的检索结果排在后面,用户不能浏览到,而排在前面的检索结果却相关性很少,造成用户的错觉。此外,我们还要考虑HTML/XML的特殊性、支持大量并发用户突发访问、Web站点的动态特性、要求索引维护效率很高等方面。目前的技术实现有Lucene,Solr,ElasticSearch等。全文检索过程分为索引、搜索两个过程: 索引(Indexing)从关系数据库中、互联网上、文件系统采集源数据(要搜索的目标信息),源数据的来源是非常广泛的。将源数据采集到一个统一的地方,例如存储系统,要创建索引,将索引创建到一个索引库(文件系统)中,从源数据库中提取关键信息,从关键信息中抽取一个一个词,词和源数据是有关联的。也即创建索引时,词和源数据有关联,索引库中记录了这个关联,如果找到了词就说明找到了源数据(http的网页、电子书、新闻等……)。搜索(Search)用户执行搜索(全文检索)编写查询关键字。从索引库中搜索索引,根据查询关键字搜索索引库中的一个一个词。展示搜索的结果。
一切一切…网上搜搜…给我分吧…回答者: 不知道吧哈哈哈 - 高级魔法师 七级 5-11 08:53这个不知道吧哈哈哈就是垃圾厚脸皮跟人家要分
基于JAVA的网络数控仿真系统研究摘要:近几年来基于JAVA的网络数控仿真系统,在制造生产工作中得到了广泛的应用,本文简单介绍了基于JAVA的网络数控仿真系统研究的必要性,强调了基于JAVA语言的网络数控仿真系统,在实际生产工作中应用的价值,与此同时针对基于JAVA的网络数控仿真系统研究具体内容展开了细致的分析活动,并对基于JAVA的网络数控仿真系统研究设计体系进行了深入的探讨。 关键词:JAVA 网络数控 仿真系统 研究内容 分析体系 中图分类号: 文献标识码:A 文章编号:1007-9416(2015)11-0000-00 网络信息技术的快速进步,以及网络信息技术在制造业领域内的普及应用,改变了传统的制造生产模式,提升了制造生产工作的质量与效率,与此同时促使我国制造产业向信息化和一体化方向发展,充分体现了现代化网络信息技术高效性、便捷性的特点。 1基于JAVA的网络数控仿真系统研究的必要性 从网络信息技术在制造生产中应用的现状看,基于JAVA语言的网络数控仿真系统的应用最为流行,JAVA作为应用性极强的软件编程语言,具有面向对象的应用特点,基于JAVA语言理论设计的数控仿真系统,将系统数据服务功能转移到了网络服务端,利用JAVA语言扩展性较强的应用特点,在网络服务层与客户端之间建立了智能化数据信道,进而在最大限度上降低了客户端数据服务设计的要求,从根本上提升了系统设计应用的性能。通过以上内容的叙述不难发现,网络信息技术在制造生产中的应用,具有一定的现实价值,同时网络信息技术的应用范围也在逐渐扩大,在这样的社会发展背景下,要想能进一步提升相关操作系统与设备功能的应用性,就应该肯定对基于JAVA的网络数控仿真系统进行研究的必要性,利用计算机编程语言,解决现有系统应用中的问题,解放系统客户端应用的压力[1]。 2基于JAVA的网络数控仿真系统研究具体内容 JAVA语言方法的调用 从实质性含义的角度进行分析,JAVA属于计算机编程语言类,其中包含的数据调用方法主要以实现具体的功能为目标,在实际设计分析的过程中,突出了JAVA语言自身的扩展性能,在基本设计要求的基础上,建设了具有扩展性能的分布式数据通道。以目前应用的基于JAVA语言的网络数控仿真系统为例,从数控仿真系统应用的现状看,普遍具备远程操控的功能,在实际应用的过程中,能够实现与远程目标之间的通信,并根据实际的应用需求,在适当的时间向客户端返回准确的数据指示内容。而数控仿真系统该功能的实现,主要依靠JAVA语言远程方法的调用,在实际设计的过程中,JAVA语言定义了对象数据接口,遵循语言远程协议构建了相应的数据信息体系,在数据信息输入初期,就对数据信息作出了准确的标识记录,然后在本地文件内设立了相同的方法调用接口,最后结合系统应用功能需求,建立了方法集成关系,为JAVA语言方法的连续性应用奠定了基础,保持了数据通信之间的认同识别关系[2]。 数据接口应用的合理性 为了进一步提高网络数控仿真系统的实用性,就要对JAVA语言的应用特点进行深入的研究,保证数据接口应用的合理性,继而在最大程度上简化系统设计的内容。为了从更加全面的角度说明合理应用数据接口的重要性,本文以应用最频繁的JAVA数据接口OpenGL为例进行说明,OpenGL最大特点是被当做硬件接口使用,但是与系统硬件设备没有任何关系,数据接口应用性能强度不会对系统整体造成影响,除此之外OpenGL能够调用图像处理功能,提高了JAVA语言的访问能力,继而在同等条件下实现了数控仿真系统设计应用界面的集成化,促使JAVA依靠基础性设计语言建成了系统性的功能开发库[3]。 3 基于JAVA的网络数控仿真系统研究设计体系 系统模块的设计 良好的系统模块设计是保证网络数控仿真系统性能的关键,作为系统设计人员,在实际设计的过程中,首先要明确不同系统模块的功能需求,根据不同模块的应用特点,进行针对性的性能设计,比如在进行刀具选择模块的设计时,就要从最基本的层面入手,输入不同刀具的应用信息和换刀操纵的基本要求,了解不同生产方式对刀具位置和走刀线路的要求区别,在实际工作的过程中,把握好换刀的具体操作顺序。其次在数据服务模块设置相应的功能,利用JAVA程序设计语言,将具体的功能要求转化为智能化的操作,在数据模块进行系统性的建模操作,继而让数控仿真系统实现准确的坐标转换操作和插补计算操作[4]。 系统结构的设计 基于JAVA语言的数控仿真系统对系统结构提出了非常高的要求,主要原因是JAVA语言设计流程相对比较复杂,同时又是对整个系统的组织,所以在实际应用的过程中,需要合理的系统结构做支撑。在这样的情况下,要想保证系统设计结构的科学性,就要深入了解系统设计原理的要求,根据实际的工作情况设计相应的系统结构图,在系统程序内部滞留数据缓冲区,对数据信息分析后传递数据节点,继而保证数据信息应用时间,以及应用方式的有效性。 4结语 通过上文的叙述不难发现,基于JAVA的数控仿真操作系统有效的利用了现代化网络资源,基于JAVA语言扩展性强的特点,调用了JAVA语言方法,降低了对系统客户端应用的设计要求,从整体上提高了数控仿真系统应用的性能,以及制造生产工作的效率。
目 录一、概要设计……………………………………………………………3二、程序整体设计说明…………………………………………….…..4三、程序部分源代码及注释…………………………………………….9四、测试结果………………………………………………………….24五、设计心得…………………………………………………………25六、致 谢…………………………………………………………25七、参考文献…………………………………………………………25【摘 要】该程序是一个图形界面的java文档编辑器,其界面主要采用了awt包, 程序实现了文本编辑器的基本功能有:新建文件、打开文件、文件保存、文件另存为、剪切、复制、粘贴、删除、查找/替换、改变字体大小,另外还利用Time类的schedule方法实现了文件的定时自动更新功能,并创建备份文件,由于该编辑器是用的awt包,所以在技术上没有实现将Java的关键字以不同颜色显示功能。【关键字】java 编辑器一、概要设计Java程序编辑器是:图形界面、线程、流与文件等技术的综合应用。图形界面的实现:考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在选择组件上,文本编辑区就选用了TaxtArea作为主要的部件。线程实现文件自动保存:在相关的参考书上查阅到在Time类中有一个schedule方法可以在后台自动完成一定的功能,而且调用起来相当简单,于是就用了Time类中的schedule方法来实现文件自动保存及备份功能。文件操作的实现:利用了字符文件流FileReader和FileWriter类来实现。由于Java的特性,可能用任何一个编辑器来编辑,于是就将Windows中的记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能。在设计类的时候,考虑到简单明了,就用了两个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。主类完成对象的实例化及显示。这们设计的优点是:条理清晰,容易理解,容易修改。这样设计的缺点是:不利于共享类中的方法。二、程序整体设计说明、程序框架图、程序中所用类说明(1)用户自定义类类名:EditInstantiation作用:实例化对象继承的父类:WindowAdapter主要成员变量:Frame myFrm // 定义主窗体TextArea myText // 定义文本编辑区Dialog myDlgFind,myDlgFindont //查找及设置字体对话框TextField TFfind, TFreplace, TffontSize//查找对话框和字体窗体中的文本行Button BfontOK, Bfind, Breplace, Bnext, Bcancel //定义和创建各按钮Label Lf, Lr, Ls //定义和创建各标签MenuBar Mbbar //定义和创建主菜单Menu Mfile,Medit,Mformation,Mhelp //定义和创建主菜单中的选项Toolkit toolKitClipboard myCB //剪切板对象FileDialog myFDlg //定义文件对话框Choice ChfontName //定义和创建字体选择框private int VIindex = 1; //构成文件名后缀变量private String VSsubFixStr=".java"; //构成文件名扩展名变量private String VSmyFileName = "Document1",VSmyBFileName;//文件名及备份文件名变量private File VFmyFile=new File(VSmyFileName+VIindex+".java");//文件名变量private int VIsearchPosition=0; //查找位置指针private Timer VTtime; //实例化一个Time类private int VImin=1; // schedule方法中的一个时间参数private int VItype=;//提示对话框类型private String VStitle; //提示对话框标题private String VSmessage; //提示对话框信息private boolean VBchanged = true; //改变字体的一个标识private int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2; //设置字体大小及步长主要成员方法:public void init() //初始化各部件菜单的定义和事件的监听public void displayEdit ()//显示窗体及调用Time中的schedule方法public void windowClosing () //关闭窗体public void save //保存文件方法a.内部类类名:KeyEvents作用:实现菜单的事件的响应功能继承的父类:KeyAdapter主要成员变量:无成员方法:actionPerformed()、keyPressed()b.内部类类名:FindKeyEvent作用:实现查找中各部件事件的响应功能继承的父类:无主要成员变量:无成员方法:actionPerformed ()c.内部类类名:fontEvent作用:实现字体中各部件事件的响应功能继承的父类:无主要成员变量:无成员方法:ItemListener(),ActionListener()(2)用户自定义类与Java类的继承关系图如下:自定义类 Java 类线程使用说明、实现接口方法本程序用到的方法有:schedule其方法描述如下:schedule(事件,启动时间,间隔时间);、线程应用本程序为文本编辑器,为实现自动更新,应用到了线程,每隔1分钟对文件进行自动更新、异常处理说明(1)打开文件时的异常处理需要处理的异常:IOException处理方法:捕获异常后,显示捕获的异常(2)保存文件时的异常处理需要处理的异常:IOException处理方法:捕获异常后,显示捕获的异常、程序运行效果及存在的问题(1)程序运行主要界面如下:a、主界面b、打开文件对话框c、保存文件对话框d、另存为文件对话框e、查找/替换对话框f.字体对话框.程序尚还存在的问题我花费了近一个多星期的时间,查阅了许多相关的资料,终于把这个Java编辑器,程序基本实现了该课程设计的基本要求。但由于自己水平有限,使得程序还有不是很完善,首先,最重要的一点是该设计的最重要的功能自动改变java关键字的颜色没有实现。三、程序部分源代码及注释//****************************************************// class name :Edit// implements :none// extends :none// attribute :public// founction :entrance of the class//*****************************************************public class Edit{ //主类public static void main(String args[]){EditInstantiation myEdit= new EditInstantiation();(); //初始化(); //显示窗体}//****************************************************// class name :EditInstantiation// implements :none// extends :WindowAdapter// attribute :default// founction :EditInstantiation of the main class//*****************************************************class EditInstantiation extends WindowAdapter{ //默认属性类//define sources 定义各部件Frame myFrm=new Frame("我的编辑器"); //定义窗体TextArea myText=new TextArea(); //定义窗体Dialog myDlgFind=new Dialog(myFrm,"查找",true); //定义查找对话框Dialog myDlgFindont=new Dialog(myFrm,"字体",true); //定义字体对话框TextField TFfind=new TextField(30);//定义查找对话中的查找输入框TextField TFreplace=new TextField(30); //定义查找对话中的替换输入框TextField TFfontSize,TFfontDemo;//定义字体大小文本框和示例框Choice CHfontName;//定义字体大小选择框List LTfontSize; //定义字体大小标签Button BfontOK,BfontCancel; //定义字体大小对话中的确定及取消按钮Button Bfind=new Button("查找");//定义查找对话中的查找按钮Button Breplace=new Button("替换");//定义查找对话中的替换及取消按钮Button Bnext=new Button("下一个");//定义查找对话中的下一个及取消按钮Button Bcancel=new Button("取消");//定义查找对话中的确定及取消按钮Label Lf=new Label("查找内容:");Label Lr=new Label("替换为: ");Label Ls=new Label("字体大小:");FileDialog myFDlg;Clipboard myCB=().getSystemClipboard(); //剪切板对象Menu Mfile,Medit,Mformation,Mhelp;MenuBar MBbar;//define varities //定义各变量private int VIindex = 1;private String VSsubFixStr=".java";private String VSmyFileName = "Document1",VSmyBFileName;private File VFmyFile=new File(VSmyFileName+VIindex+".java");private int VIsearchPosition=0;private Timer VTtime;private int VImin=1; // parameter in time schedulprivate int VItype=;private String VStitle;private String VSmessage;// flag of the changeingprivate boolean VBchanged = true;// the scope of the fontprivate int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2;//************************************************//founction name:init()//parameter :none//attribute :public//founction :initia all compont//************************************************public void init(){ //初始化各部件//------------------ set menu ------------------MBbar=new MenuBar();(MBbar);Mfile=new Menu("文件");Medit=new Menu("编辑");Mformation=new Menu("格式");Mhelp=new Menu("帮助");(Mfile);(Medit);(Mformation);(Mhelp);//文件菜单 add File (new MenuItem("新建",new MenuShortcut()));(new MenuItem("打开",new MenuShortcut()));(new MenuItem("保存",new MenuShortcut()));(new MenuItem("另存为"));();//分隔线(new MenuItem("退出",new MenuShortcut()));//编辑菜单 add Edit (new MenuItem("剪切"));//,new MenuShortcut()));(new MenuItem("复制"));//new MenuShortcut()));(new MenuItem("粘贴"));//new MenuShortcut()));(new MenuItem("删除"));//new MenuShortcut()));();//分隔线(new MenuItem("查找/替换",new MenuShortcut()));();//分隔线(new MenuItem("全选",new MenuShortcut()));//格式菜单 add Formation (new MenuItem("字体",new MenuShortcut()));//帮助菜单 add Formation (new MenuItem("关于作者"));//----------------- menu add end -------------------------//add Menu Action (new KeyEvents());(new KeyEvents());(new KeyEvents());(new FindKeyEvent());//--------------------------- Find (350,115);(250,150);(new FlowLayout());();(false);(false);(false);(Lf);(TFfind);(Lr);(TFreplace);(Bfind);(Breplace);(Bnext);(Bcancel);(new WindowAdapter(){public void windowClosing(WindowEvent e){(false);}});//为查找对话框窗体注册事件监听(new KeyEvents());//注册事件监听(new FindKeyEvent());(new FindKeyEvent());(new FindKeyEvent());(new FindKeyEvent());//--------------- end add action listener ------------//================set font dialog ==============//font size text fieldTFfontSize = new TextField("8",14);();//font size list fieldLTfontSize = new (5, false);(new fontEvent());for(int i = VIfontSizeMin; i <= VIfontSizeMax; i = i + VIfontSizeChangedStep)(i + "");//添加字体大小(0);//two Button Ok CancelBfontOK = new Button("确定");(new fontEvent());BfontCancel = new Button("取消");(new fontEvent());//a TextField for demo the fontTFfontDemo = new TextField("Java awt",37);(false);// my font dialog设置字体对话框(new FlowLayout());();(Ls);(TFfontSize);(BfontOK);(BfontCancel);(LTfontSize);(TFfontDemo);(300,200);(300,200);(false);(new WindowAdapter() {public void windowClosing(WindowEvent e) {(false);}}); //为字体对话框窗体注册事件监听//=============end set font dialog// =======set Edit frame设置编辑器窗休(myText,);(500,400);();(this);(500,400);(200,100);("Java编辑器");}//************************************************//founction name:displayEdit()//parameter :none//attribute :public//founction :initial and display the frame//************************************************public void displayEdit(){ //显示窗体(true);//---------------------- auto save ---------------------VTtime = new Timer(true);(new (){public void run(){if(VSmyFileName!=null){save(VSmyFileName+".java");VSmyBFileName=VSmyFileName+".bak";} //添加自动保存功能save(VSmyBFileName);}}, VImin*60*1000,VImin*60*1000);//parament 1 the task//parament 2 when to start the task//parament 3 set the interval time }//****************************************************// class name :KeyEvents// implements :ActionListener// extends :KeyAdapter// attribute :default// founction :implement the mouse and key action//*****************************************************class KeyEvents extends KeyAdapter implements ActionListener{//********************************************************//founction name:actionPerformed()//parameter :none//attribute :public//return :void//founction :realize the key action in the menu//*********************************************************public void actionPerformed(ActionEvent e){//完成菜单事件的功能// File Menuif (()=="新建"){//remind youJFrame aFrame=new JFrame();();JOptionPane optionPane=new JOptionPane();String choices[]={"是","否","取消"};int n=(aFrame,"文件正文已更改,是否保存更改","文本编辑器",[0]);//保存文件后新建if(n==0){//若文件存在,保存在原文件中,再新建文件try{if(()){save(VSmyFileName); // call the save ("");VIindex++;}else{//若文件不存在,则保存后再新建myFDlg=new FileDialog(myFrm,"保存文件",);(VSmyFileName);();VSmyFileName=()+();save(VSmyFileName);("");VIindex++;}}catch(Exception ne){}}//不保存文件新建if(n==1){("");VIindex++;}//取消新建if(n==0){return;}}//打开菜单 Open Menuif (()=="打开") {myFDlg=new FileDialog(myFrm,"打开",);();if (()!="") {VFmyFile=new File(()+());VSmyFileName=()+();if( ()){try{FileReader fr=new FileReader(VFmyFile);BufferedReader br=new BufferedReader(fr);String text;("");while ((text=())!=null)(text+"\r\n");();();}catch(IOException ioe){VStitle="提示";VSmessage="打开文件出错";(myFrm,VSmessage,VStitle,VItype);}}}}//保存菜单 Save Menuif (()=="保存"){myFDlg=new FileDialog(myFrm,"保存文件",);(VSmyFileName);();VSmyFileName=();if(VSmyFileName!=null){VSmyFileName=()+();save(VSmyFileName);}}//另存为菜单 SaveAs Menuif (()=="另存为"){myFDlg=new FileDialog(myFrm,"文件另存为",1);(VSmyFileName);();VSmyFileName=();if(VSmyFileName!=null){VSmyFileName=()+();save(VSmyFileName);}}//退出菜单 exit Menuif (()=="退出")(0);//编辑 Edit Menuif (()=="剪切"){//CutString text =();StringSelection selection = new StringSelection(text);(selection, null);("",(),());}if (()=="复制"){//copyString text=();if(text!=null){StringSelection selection=new StringSelect
摘 要网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情。建立搜索引擎就是解决这个问题的最好方法。本论文首先详细介绍了基于英特网的搜索引擎的系统结构,然后从网络机器人、索引引擎、Web服务器三个方面进行详细的说明。为了更加深刻的理解这种技术,本人还亲自实现了一个自己的Java搜索引擎——新闻搜索引擎。新闻搜索引擎是从指定的Web页面中按照超连接进行解析、搜索,并把搜索到的每条新闻进行索引后加入数据库。然后通过Web服务器接受客户端请求后从索引数据库中搜索出所匹配的新闻。本人在介绍搜索引擎的章节中除了详细的阐述技术核心外还结合了新闻搜索引擎的实现代码来说明,图文并茂、易于理解。 关键字:搜索引擎,网络机器人,Lucene,中文分词,JavaCC AbstractThe resources in the internet are abundant, but it is a difficult job to search some useful information. So a search engine is the best method to solve this problem. This article fist introduces the system structure of search engine based on the internet in detail, and then gives a minute explanation form Spider search, engine and web server. In order to understand the technology more deeply, I have programmed a news search engine by myself in news search engine is explained and searched according to hyperlink from a appointed web page, then indexes every searched information and adds it to the index database. Then after receiving the customers' requests from the web server, it soon searches the right news form the index engine,In the chapter of introducing search engine, it is not only elaborating the core technology, but also combine with the modern code, pictures included, easy to understand. Key Words:Search Engine, Spider, Lucene, Phrase Query, JavaCC 目 录第1章 引言··· 选题背景:··· 现实意义··· 1第2章 搜索引擎的结构··· 系统概述··· 搜索引擎的构成··· 网络机器人··· 索引与搜索··· Web服务器··· 搜索引擎的主要指标及分析··· 小节··· 4第3章 网络机器人··· 什么是网络机器人··· 网络机器人的结构分析··· 如何解析HTML· 该类几种重要的方法。··· Spider程序结构··· 如何构造Spider程序··· 如何提高程序性能··· 网络机器人的代码分析··· 小节··· 10第4章 基于Lucene的索引与搜索··· 什么是全文检索与全文检索系统?··· 什么是Lucene全文检索··· Lucene的系统结构分析··· 系统结构组织··· 数据流分析··· Lucene索引构建逻辑模块分析··· 绪论··· 对象体系与UML图··· Lucene的包结构··· Lucene的主要逻辑图··· 对Lucene包的小结··· Lucene查询逻辑··· 查询者输入查询条件··· 查询条件被传达到查询分析器中··· 查询遍历树··· 返回结果··· Lucene 检索原理··· Lucene和Nucth的中文分析模块··· Nutch分析··· Nutch中文搜索 中文分词··· 利用JavaCC构造中文分析模块··· 分词小结··· Lucene与Spider的结合··· Index类的实现··· HTML解析类··· Lucene 小结··· 31第5章 基于Lucene的搜索引擎实现··· 基于Tomcat的Web服务器··· 什么是基于Tomcat的Web服务器··· 用户接口设计··· 客户端设计··· 服务端设计··· 在Tomcat上部署项目··· 小节··· 35第6章 搜索引擎策略··· 简介··· 面向主题的搜索策略··· 导向词··· 网页评级··· 权威网页和中心网页··· 小节··· 38结束语··· 39参考文献··· 40致 谢··· 41外文资料原文··· 42外文原文翻译··· 48 第1章 引言 选题背景:面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以从搜索出发到达自己想去的网上任何一个地方。因此它也成为除了电子邮件以外最多人使用的网上服务。搜索引擎技术伴随着WWW的发展是引人注目的。搜索引擎大约经历了三代的更新发展:第一代搜索引擎出现于1994年。这类搜索引擎一般都索引少于1,000,000个网页,极少重新搜集网页并去刷新索引。而且其检索速度非常慢,一般都要等待10秒甚至更长的时间。在实现技术上也基本沿用较为成熟的IR(Information Retrieval)、网络、数据库等技术,相当于利用一些已有技术实现的一个WWW上的应用。在1994年3月到4月,网络爬虫World Web Worm (WWWW)平均每天承受大约1500次查询。大约在1996年出现的第二代搜索引擎系统大多采用分布式方案(多个微型计算机协同工作)来提高数据规模、响应速度和用户数量,它们一般都保持一个大约50,000,000网页的索引数据库,每天能够响应10,000,000次用户检索请求。1997年11月,当时最先进的几个搜索引擎号称能建立从2,000,000到100,000,000的网页索引。Altavista搜索引擎声称他们每天大概要承受20,000,000次查询。结束语本课题对基于因特网的Java搜索引擎结构和性能指标进行了分析,了解Spider程序的结构和功能。在进行海量数据搜索时,如果使用单纯的数据库技术,那将是非常痛苦的,速度将是极大的瓶颈。所以本文提出了使用全文搜索引擎Lucene进行索引、搜索。解决中文分词和有效的中文搜索信息。同时解决了如何把Lucene全文搜索引擎和Spider程序互相集合来实现新闻搜索的功能。对于如何构架基于Tomcat的Web服务器,使得用户通过浏览器进行新闻的搜索有了一定的理解,对Tomcat如何部署进行了说明。在些基础上,终于可以调试出一个简单的在本地搜索新闻Java搜索引擎。参考文献[1] Jeff Heaton(美), Programming Spiders, Bots, and Aggregator in Java.[2] Borland Software Corporation(美),JBuilder培训教程(译者:周鹏 [等] 译)北京:机械工业出版社[3]徐宝文,张卫丰. 搜索引擎与信息获取技术.北京:清华大学出版社,[4]车东.基于Java的全文搜索引擎Lucene[5]罗旭.主题搜索引擎的设计与实现[6]Bruce Eckel(美).Thinking in Java.北京:机械工业出版社[7] Otis Gospodnetic Erik Hatcher (美).Action in Lucene.电子工业出版社,[8]耿祥义,张跃平. JAVA2实用教程(第二版).北京:清华大学出版社,[9]刘彬.JSP数据库高级教程.北京:清华大学出版社,[10]刘卫国,严晖.数据库技术与应用——SQL Server.北京:清华大学出版社,[11]闫宏飞.Tiny Search Engine: Design and implementation(PPT). [12]李晓明,闫宏飞,王继民.搜索引擎——原理、技术与系统.北京:科学出版社,2004 更多参考请点击
TAGS: 毕业论文 计算机 基于 远程 对象 RMI 方法 实现 调用 哪位老兄有计算机毕业设计论文啊?是基于java的,小弟急用,谢谢!用RMI开发基于Java的企业分布式应用我站还提供更多的免费计算机论文,但免费论文仅供参考,建议广大网友下载后不要轻易采用。摘要由于Java具有跨平台、代码可移植性、安全高效等广泛而强大的功能,因而在开发网络分布式应用的时候,可以用它自身的机制实现分布式计算,一种基于Java的远程方法调用(RMI)为我们开发企业分布式应用提供了行之有效的解决方案。关键词 Java RMI 企业分布式应用 1 概述随着电力企业信息化建设的不断深入和发展,企业内部和企业与企业之间对信息、对数据的交换量大大增加,这些信息与数据越来越需要在不同的计算机网络间传送和交流。同时,由于各单位、各部门之间的现存的计算机网络硬件设备与操作系统千差万别,应用水平也参差不齐,因此,开发出跨平台、可移植、高效安全的网络分布式应用来服务于电力企业,就显得尤为重要。在当今的编程术语里,分布式计算已经成为很常见的词,它将企业的业务数据和程序分布在网络的不同物理位置上,通过调动网络上多台计算机的处理能力,发挥远程调用数据的功能。远程方法调用(Remote Method Invocation ,RMI),可以在不同的Java虚拟机(JVM)之间实现对象与对象的通信。JVM可以位于相同或不同计算机上,在多个JVM中,一个JVM可以调用存储在其它JVM的对象的方法。本文主要介绍RMI的特点,分析应用RMI进行企业分布式计算的原理,以及利用RMI实现基于Java的企业分布式应用的具体步骤。2 远程方法调用(RMI)的特点 TCP编程的缺点由于Java编程语言设计之初就是面向对象和支持网络的,因此,基于对象的RMI机制已经内置在Java平台中。我们经常会在网络开发中使用TCP/IP编程,这样,自然而然地就会涉及到Socket(套接字)编程。但是,使用Socket编程需要大量重复编码,在复杂分布式操作时显得非常麻烦,而且易于出错。因此,如何快速、高效、安全、可扩展地进行网络分布式计算,是开发者们一贯追求和倡导的主题。直到RMI的出现,这种繁杂、低效的开发情况才有很大改观。 RMI编程的特点当我们利用对象序列化在网络上分配对象时,RMI提供了非Java平台无法匹敌的独特而强电子商务资料库)*!%267'$#7'455大的分布式计算模型,RMI主要有以下特点:? 客户机可以向本地方法一样调用远程服务器上的方法;? 可以根据接口指定客户机/服务器编程合约;? 可以从服务器对象缺省二进制类文件,自动生成调动/反调动代码;? 将Java编程模型扩展到机器边界(和Java虚拟机(JVM)边界之外),不需要任何特殊语法;? 还可以和一个远程方法调用中的数据同时传输行为(代码)。尽管RMI不是唯一的企业级远程对象访问方案,但它却是最容易实现的。 RMI与CORBA作为分布式应用程序框架的规范,COBRA首当其冲,它是由对象管理组织(OMG)开发的。与CORBA不同的是,CORBA能够利用不同编程语言(例如C/C++、Basic等)开发实现分布式应用,而RMI是一种纯Java解决方案。在RMI中,程序的所有部分都由Java语言编写,这样,开发出来的程序完全符合Java规范,便于实现跨平台访问、扩展和移植。按照笔者所在西北电力建设集团公司的情况看,服务器操作系统主要有Linux和Windows2000 Server,分别存在于公司和部门当中,它们是不同的系统平台;同时,公司下属各个工程项目部又距离很远,近的几十公里,远则达到上千公里甚至位于国外,因此跨平台和远程访问这两大功能在开发企业应用系统时就必须考虑,而RMI恰恰能够用它的自身特点来满足编程需要。3 RMI基本体系结构简介RMI通过TCP/IP在内部使用Socket,象其名称暗示的那样,它能够帮助我们查找并执行远程对象的方法。RMI的目的是让位于不同JVM中的对象,在外观及行为上都像是本地的对象。通常,我们把调用这种远程对象的JVM,称为客户机;而把包括这种远程对象的JVM,称为服务器。尽管对一个远程对象的引用和获得对本地对象的引用有所不同,但我们可以把远程对象像本地对象一样使用。应用程序并不知道一个对象是远程的还是本地的。实际上,远程对象上被调用的方法与本地对象上调用的方法,具有相同的语法结构。作为RMI的底层(会包含复杂的Socket操作),它会自动截获方法调用,找到远程对象,然后处理远程请求。笔者认为,RMI设计的重要之处,就在于不但在设计上实现了远程访问功能,而且实现了设计的透明性。RMI的基本体系结构,概括起来说,由三个抽象层组成: 存根/框架层(Stubs/Skeletons Layer)
262 浏览 4 回答
107 浏览 6 回答
303 浏览 7 回答
257 浏览 5 回答
178 浏览 5 回答
260 浏览 5 回答
110 浏览 7 回答
234 浏览 4 回答
104 浏览 7 回答
192 浏览 5 回答
113 浏览 5 回答
308 浏览 5 回答
290 浏览 7 回答
252 浏览 8 回答
237 浏览 10 回答